pom.xml
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jdbc</artifactId> </dependency> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <scope>runtime</scope> </dependency>
Syain.java
package com.example.demo; public class Syain { private Integer id; private String name; private String romaji; public Integer getId() { return id; } public String getName() { return name; } public String getRomaji() { return romaji; } public void setId(Integer id) { this.id = id; } public void setName(String name) { this.name = name; } public void setRomaji(String romaji) { this.romaji = romaji; } }
SyainRepository.java
L mapとは、「キー」と「値」をペアにして複数のデータを格納できるもの
-> 連想配列みたいなものか。。
package com.example.demo; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Repository; @Repository public class SyainRepository { private final JdbcTemplate jdbcTemplate; @Autowired public SyainRepository(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; } public List<Syain> getAll(){ String sql = "select id, name, romaji from syain"; List<Map<String, Object>>syainList = jdbcTemplate.queryForList(sql); List<Syain> list = new ArrayList<>(); for(Map<String,Object> str1: syainList) { Syain syain = new Syain(); syain.setId((int)str1.get("id")); syain.setName((String)str1.get("name")); syain.setRomaji((String)str1.get("romaji")); list.add(syain); } return list; } }
MainController.java
package com.example.demo; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @Controller @RequestMapping("/test1") public class MainController { @Autowired private SyainRepository syainRepository; @GetMapping public String index(Model model) { List<Syain> list = syainRepository.getAll(); model.addAttribute("SyainList", list); return "test1/index"; } }
index.html
<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="utf-8" /> <title>Check</title> </head> <body> <table> <tr> <th>id</th><th>name</th><th>romaji</th> </tr> <tr th:each="list : ${SyainList}"> <td th:text="${list.id}"></td> <td th:text="${list.name}"></td> <td th:text="${list.romaji}"></td> </tr> </table> </body> </html>
なんかもう殆どSpringBootでアプリ作れるような気がしてきた。