본문 바로가기

Spring Boot/Spring Boot

37 : Springboot (Board - Mybatis)

Board Table과 연동

 이번엔 boardList를 보여주기 위해 board디렉토리를 만들어 보자

 board디렉토리도 MVC패턴 구조로 나누어서 아래 코드를 구성한다

  • controller - BoardController
  • model - BoardDAO & BoardDTO
  • service - BoardService

 

 

전 시간에 만들었던 Mybatis연동하여 Test 테이블을 보여주는 코드와 거의 유사하다!

https://dwc04112.tistory.com/82

 

37- Springboot (MyBatis를 이용하여 MySQL 연동)

왜 MyBatis를 사용할까? JDBC만 사용하게 되면 Java소스 와 Query소스가 겹치게 되고 관리가 어려워진다 그리고 한 눈에 보기는 편하지만 짧은 쿼리만 있는 것이 아니라 엄청 길 수도 있다는 것! 1. DB

dwc04112.tistory.com

 

변경된 점이 있다면 DTO의 데이터가 늘어났다는 것

Board 테이블 칼럼의 데이터 타입에 따라 정의해주자

@AllArgsConstructor 
@Getter
@Setter
public class BoardDTO {
    private int id;                      // 글 id(글번호)
    private String author;               // 작성자 이름
    private String subject;              // 글 제목
    private String content;              // 글 컨텐츠
    private Date writeDate;              // 작성 날짜
    private Time writeTime;              // 작성 시간
    private int readCount;               // 조회수
    private int commentCount;            // 댓글 갯수
    private String password;             // 수정 삭제를 위한 패스워드
    private int pid;
    private int depth;
    private int porder;
}

 

 

Mappers에 BoardMapper.xml 파일 생성

 Mapper은 저번에 말했듯이 실행할 SQL문을 정리해두는 파일이다

 Application class에 정의 했던 /src/main/resource/mappers/*Mapper.xml과 같은 형식으로

 /src/main/resource/mappers/BoardMapper.xml 경로에 파일을 만들어 준다.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="kr.ac.daegu.springbootapi.board.model.BoardDAO">
    <select id="getBoardList" resultType="kr.ac.daegu.springbootapi.board.model.BoardDTO">
        select * from board
    </select>
</mapper>

 

 

Postman에서 실행

이번에도 Postman에서 http://localhost:8080/board/ 로 요청을 날려보자

 board Table의 데이터를 모두 보여주는 것을 볼 수 있다!

 이번엔 "/board/"가 아니라 "/test/"로 요청해보자

역시 Test Table의 데이터도 잘 보여준다