View 템플릿 생성
//Index Page HTML
<body>
<h1>Index Page</h1>
</body>
//List Page HTML
<body>
<h1>list Page</h1>
<hr>
<div>
<table width="500" cellpadding="0" cellspacing="0" border="1">
<tr>
<td>번호</td><td>작성자</td><td>제목</td><td>삭제</td>
</tr>
<c:forEach var="dto" items="${list}">
<tr>
<td>${dto.id}</td>
<td>${dto.writer}</td>
<td>${dto.title}</td>
<td><a href="delete?id=${dto.id}">X</a></td>
</tr>
</c:forEach>
</table>
</div>
<p><a href="writeForm">글 작성</a></p>
</body>
// View Page HTML
<body>
<h1>view Page</h1>
<hr>
작성자 : ${dto.writer}<br>
제목 : ${dto.title}<br>
내용 : ${dto.content}<br>
<hr>
<p>
<a href="list">목록보기</a>
</p>
</body>
//writeForm Page HTML
<body>
<h1>writeForm Page</h1>
<hr>
<form action="write" method="get">
작성자 : <input type="text" name="writer">
제목 : <input type="text" name="title">
내용 : <input type="text" name="content">
<input type="submit" value="전송">
</form>
</body>
Dto 클래스 생성
package com.example.simpleBBS_jdbc.domain;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@NoArgsConstructor
@AllArgsConstructor
@Data
public class SimpleBBS_Dto {
private int id;
private String writer;
private String title;
private String content;
}
Dao 클래스 생성
package com.example.simpleBBS_jdbc.dao;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
import com.example.simpleBBS_jdbc.domain.SimpleBBS_Dto;
@Repository
public class SimpleBBS_Dao implements ISimpleBBS_Dao{
@Autowired
JdbcTemplate jt;
@Override
public List<SimpleBBS_Dto> listDao() {
System.out.println("listDao... ");
String query = "Select * from simpleBBS";
List<SimpleBBS_Dto> list = jt.query
(query, new BeanPropertyRowMapper<SimpleBBS_Dto>(SimpleBBS_Dto.class));
return list;
}
@Override
public SimpleBBS_Dto viewDao(String id) {
System.out.println("viewDao... ");
String query = "select * from simpleBBS where id=" + id;
SimpleBBS_Dto dto = jt.queryForObject(query, new BeanPropertyRowMapper<SimpleBBS_Dto>(SimpleBBS_Dto.class));
return dto;
}
@Override
public int writeDao(String writer, String title, String content) {
System.out.println("writeDao... ");
String query = "Insert into simpleBBS (id, writer, title, content)" + "values(null, ?,?,?)";
return jt.update(query,writer,title,content);
}
@Override
public int deleteDao(String id) {
System.out.println("deleteDao... ");
String query = "Delete From simpleBBS where id = ?";
return jt.update(query, Integer.parseInt(id));
}
}
Controller 생성하기
package com.example.simpleBBS_jdbc.controller;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.example.simpleBBS_jdbc.dao.ISimpleBBS_Dao;
@Controller
public class SimpleBBS_Controller {
@Autowired
ISimpleBBS_Dao dao;
@RequestMapping("/")
public String root() {
return "redirect:list";
}
@RequestMapping("/list")
public String listPage(Model model) {
model.addAttribute("list",dao.listDao());
return "list";
}
@RequestMapping("/view")
public String view(HttpServletRequest request, Model model) {
String sId = request.getParameter("id");
model.addAttribute("dto", dao.viewDao(sId));
return "view";
}
@RequestMapping("/writeForm")
public String writeForm() {
return "writeForm";
}
@RequestMapping("/write")
public String write(Model model, HttpServletRequest request ) {
dao.writeDao(request.getParameter("writer"),
request.getParameter("title"),
request.getParameter("content"));
return "redirect:list";
}
@RequestMapping("/delete")
public String delete(HttpServletRequest request, Model model) {
dao.deleteDao(request.getParameter("id"));
return "redirect:list";
}
}
JDBC를 사용하기 위해서는 application.properties에 DB연결을 해줘야한다!
spring.application.name=simpleBBS_jdbc
server.port = 8093
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.url=jdbc:mariadb://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=1234
'Spring' 카테고리의 다른 글
[SpringBoot] JPA 쿼리메서드 (0) | 2024.06.04 |
---|---|
[SpringBoot] JPA 사용해서 CRUD 기능 구현하기 (0) | 2024.06.04 |
[SpringBoot] JPA 사용해서 페이지네이션 구현해보기 (0) | 2024.06.04 |
[STS] thymeleaf 사용해보기 (1) | 2024.05.01 |
[STS] mybatis를 활용하여 DB데이터 불러오기 (0) | 2024.05.01 |