728x90
spring boot mybatis 사용 시 dao, dto, service, mapper 개념에 대해 알아보자
DTO(Data Transfer Object)
계층간 데이터 교환을 위한 객체
DB에서 데이터를 얻어 service나 controller로 보낼 때 사용한다
로직을 갖고 있지 않은 순수한 데이터 객체이다. 데이터 타입과 사이즈를 정의할 수 있다.
@Data annotation은
@Getter / @Setter, @ToString, @EqualsAndHashCode와 @RequiredArgsConstructor 를 합친 것
---> 해당 프로젝트에서 게시판을 구현하기 위해 BoardDto 를 만들고 DB 테이블에 있는 데이터 객체와 동일한 객체를 생성해 주었다.
DAO(Data Access Object)
mapper와 dto를 연결하는 것
CRUD 기능을 정의된 메소드를 통해 구현한다
---> mapper에 id와 동일한 메소드를 정의하였다
mapper
XML 파일로 쿼리를 작성하는 곳
dao에서 CRUD 함수에 해당하는 실제 쿼리를 정의해 놓은 것
#, $ 표시를 사용하여 파라미터값을 사용함
--->resultType 데이터를 반환할 형태, parameterType 파라미터의 자료형을 명시한다.
service
DAO를 여러개 묶어서 사용할 때 service를 사용
DAO로 DB에 접근하고 DTO로 데이터를 전달받은 다음, 비지니스 로직을 처리해 적절한 데이터를 반환한다.
@Autowired Repository를 통해 repository의 method를 이용 적절한 Business Logic을 처리한다.
728x90
'SPRINGBOOT' 카테고리의 다른 글
springboot, thymeleaf 'cannot be found on null' 해결방법 (0) | 2023.06.01 |
---|---|
Spring Boot Validation 적용하는 법(2.3.version 이상일 때) (0) | 2023.05.31 |
springboot - model 생성, controller 연결하기 (0) | 2023.04.01 |
springboot controller만들기(1) - Getmapping, Requestparam (0) | 2023.03.26 |
vs code 프로젝트 설정: thymeleaf 연결하기 (0) | 2023.03.26 |