기존의 Test파일을 모방하여 mariadb의 board테이블을 연결하였다.
BoardController.java
package kr.ac.daegu.springbootapi.board.controller;
import kr.ac.daegu.springbootapi.board.model.BoardDTO;
import kr.ac.daegu.springbootapi.board.service.BoardService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping(value = "/board")
@RequiredArgsConstructor
@Slf4j
public class BoardController {
public final BoardService boardService;
@GetMapping(value = "/")
public List<BoardDTO> rootTest() throws Exception {
log.trace("logTest~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); // 로그의 5단계 trace(일반적으로 남기는 이벤트 기록) -> debug(디버깅용) -> info(알림) -> warn(경고) -> error(에러)
log.debug("logTest~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
log.info("logTest~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
log.warn("logTest~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
log.error("logTest~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
// board list 생성
List<BoardDTO> boardList = boardService.getBoardList();
return boardList;
}
}
BoardDTO
package kr.ac.daegu.springbootapi.board.model;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;
@AllArgsConstructor
@Getter
@Setter
public class BoardDTO {
private int id;
private String author;
private String subject;
private String content;
private java.sql.Date writeDate;
private java.sql.Timestamp writeTime;
private int readCount;
private int commentCount;
private String password;
private int replyRootId;
private int depth;
private int orderNum;
}
핵심은 boardDTO의 데이터타입에 유의하여 board 테이블에 맞는 데이터타입을 DTO에 명시한다.
*처음에 실수로 잘못 데이터타입을 입력하여 postman에서 결과를 도출할때 몇번 오류가 났다.
BoardDAO
package kr.ac.daegu.springbootapi.board.model;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface BoardDAO {
List<BoardDTO> getBoardList();
}
BoardService
package kr.ac.daegu.springbootapi.board.service;
import kr.ac.daegu.springbootapi.board.model.BoardDAO;
import kr.ac.daegu.springbootapi.board.model.BoardDTO;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
@RequiredArgsConstructor
@Service
public class BoardService {
public final BoardDAO boardDAO;
public List<BoardDTO> getBoardList() {
return boardDAO.getBoardList();
}
}
Boardmapper.xml
xml파일에서 기존의 Test 테이블관련 코드 (4~10)줄을 주석처리하고 Board 테이블 쿼리를 담아 냈다.
postman에 board를 요청한 결과
정상적으로 잘 출력이 되었다.
'Spring boot' 카테고리의 다른 글
Springboot (auto_increment) (0) | 2021.09.30 |
---|---|
Spring boot (insert test) (0) | 2021.09.29 |
Mybatis를 이용하여 mariadb연동 (0) | 2021.09.28 |
Springboot (service추가 및 List 옮기기) (0) | 2021.09.28 |
Springboot (collection으로 json list 리턴받기) (0) | 2021.09.28 |