* Mybatis 는 DAO를 만드는 것보다 SqlSessionDaoSupport나 SqlSessionTemplate를 사용 권장
- Mybatis 스프링 연동 모듈은 다른 빈에 직접 주입할 수 있는 매퍼를 생성 가능
- 매퍼 사용하면 DAO를 만들지 않고 인터페이지 이용하여 개발하여 편리
1. /board/src/main/java/board/board/mapper/BoardMapper.java 생성
package board.board.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import board.board.dto.BoardDto;
//mybatis는 dao를 만드는것보다 SqlSessionDaoSupper, SqlSessionTemplate를 사용하기를 권장한다.
//이렇게함으로써 mybatis 스프링 연동 모듈은 다른빈에 직접 주입할 수 있는 매퍼를 생성할 수 있다
//또한 매퍼를 사용하면 일일이 DAO를 만들지 않고 인터페이스만을 이용해서 편하게 개발 가능
//mybatis 매퍼인터페이스임을 선언
@Mapper
public interface BoardMapper {
//interface이기때문에 메소드 이름과 반환 형식만 지정.
//여기서 지정한 메소드 이름은 사용할 sql id 이름과 동일해야 한다.
List<BoardDto> selectBoardList() throws Exception;
void insertBoard(BoardDto boardDto) throws Exception;
BoardDto selectBoardDetail(int boardIdx) throws Exception;
void updateHitCount(int boardIdx) throws Exception;
void updateBoard(BoardDto boardDto) throws Exception;
void deleteBoard(BoardDto boardDto) throws Exception;
}
2. /resources/mapper/board/sql-board.xml
- 사용할 sql id 는 mapper에서 지정한 메소드명과 동일해야 한다.
<?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="board.board.mapper.BoardMapper">
<select id="selectBoardList" resultType="board.board.dto.BoardDto">
<![CDATA[
SELECT board_idx
, title
, hit_cnt
, DATE_FORMAT(created_datetime, '%Y.%m.%d %H:%i:%s') AS created_datetime
FROM web_db.t_board tb
WHERE deleted_yn = 'N'
ORDER BY board_idx DESC
]]>
</select>
</mapper>
'SpringBoot > (책)스프링부트 시작하기' 카테고리의 다른 글
[springboot] 5. springboot Logback 설정하기 (0) | 2023.04.23 |
---|---|
[springboot] 3-3. springboot mybatis typeAliases 설정하기 (0) | 2023.04.23 |
[springboot ] 4. Spring-Boot에 Lombok 설치 및 연동 (0) | 2023.04.22 |
[springboot] 3-2. springboot MySql mybatis 카멜 표기법 설정하기 (0) | 2023.04.22 |
[springboot] 3. springboot MySql MyBatis 연결하기 (0) | 2023.04.21 |