728x90
반응형
SMALL
BoardMapper.xml
BoardController.java 수정
모든 코드 최종
1. BoardController.java
package kr.smhrd.controller;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.Date;
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 kr.smhrd.entity.Board;
import kr.smhrd.repository.BoardMapper;
@Controller
public class BoardController { //POJO
//메서드
//리스트 요청(list.do)을 처리하는 메서드 만들기(DI)
@Autowired
private BoardMapper mapper;
@RequestMapping("/list.do")
public String list(Model model) {
List<Board> list = mapper.getList();
model.addAttribute("list",list);
return "board/list"; //redirect, forward(JSP)
}
}
2. Board.java
package kr.smhrd.entity;
import java.util.Date;
//게시판(Object) - > 번호, 제목, 내용, 작성자, 작성일, 조회수 ,,,,
public class Board {
private Long idx;
private String title;
private String content;
private String writer;
private Date indate; //Data -> Spring
private Long count;
//default생성자
public Board() {};
public Long getIdx() {
return idx;
}
public void setIdx(Long idx) {
this.idx = idx;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getWriter() {
return writer;
}
public void setWriter(String writer) {
this.writer = writer;
}
public Date getIndate() {
return indate;
}
public void setIndate(Date indate) {
this.indate = indate;
}
public Long getCount() {
return count;
}
public void setCount(Long count) {
this.count = count;
}
//toString()
@Override
public String toString() {
return "Board [idx=" + idx + ", title=" + title + ", content=" + content + ", writer=" + writer + ", indate="
+ indate + ", count=" + count + "]";
}
}
3. BoardMapper.java
package kr.smhrd.repository;
//JDBC API(CRUD) -> 생산성이 떨어진다, 유지보수하기 어렵다(Java+SQL)
//-> MyBatis Framework : Java <---분리개발(mapping)---> SQL(xml)
//http://mybatis.org
import java.util.List;
import kr.smhrd.entity.Board;
public interface BoardMapper {
//전체리스트를 가져오는 메서드
public List<Board> getList();
}
3. root-context.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mybatis-spring="http://mybatis.org/schema/mybatis-spring"
xsi:schemaLocation="http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring-1.2.xsd
http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- Root Context: defines shared resources visible to all other web components -->
<!-- DB연결작업 -->
<!-- <bean id="a" class="A"/>
=
A a = new A() -->
<bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/com"/>
<property name="username" value="com"/>
<property name="password" value="com01"/>
</bean>
<bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource">
<constructor-arg ref="hikariConfig"/>
</bean>
<bean class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
</bean>
<!-- SqlSessionFactoryBean의 인터페이스(Mapper)를 설정(Scan) -->
<mybatis-spring:scan base-package="kr.smhrd.repository"/>
</beans>
5. BoardMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="kr.smhrd.repository.BoardMapper">
<!-- board table 모든 게시물을 가져오는 SQL -->
<select id="getList" resultType = "kr.smhrd.entity.Board">
select * from board order by idx desc
</select>
</mapper>
728x90
반응형
LIST
'스마트인재개발원 > Spring' 카테고리의 다른 글
[Spring] 스프링 JSTL/EL 사용법 (0) | 2022.10.20 |
---|---|
[Spring]게시판 만들기(7) - 게시판 글쓰기 / 등록 / 한글 인코딩 방법 (0) | 2022.10.20 |
[Spring]게시판 만들기(6) - DB연결 최종 (0) | 2022.10.20 |
[Spring] 게시판 만들기(5) - root-context.xml에 DB연결 ( HikariCP, JDBC, Spring-jdbc API) (0) | 2022.10.20 |
[Spring] 게시판 만들기(5) - DAO 구축하기 (0) | 2022.10.19 |