Mybatis의 기능
DB 커넥션을 맺고 끝는 것을 자동화해줌.
SQL 쿼리를 실행 및 결과를 DTO에 알아서 세팅해줌.
mapper.xml
DAO의 요청에 따라 사용할 SQL 쿼리문을 작성하는 곳.
.xml에 정의된 이름과 DAO인터페이스에 정의된 메소드 이름이 같은 것 끼리 매핑된다.
DAO(Data Access Object)
실제로 DB에 접근해 데이터를 조회 및 조작하고 그 결과값을 리턴해 준다.
.xml에 정의된 이름과 DAO인터페이스에 정의된 메소드 이름이 같은 것 끼리 매핑된다.
DB에 접근하기 위한 로직과 비즈니스 로직을 분리하기 위해 사용.
DTO(Data Transfer Object).
Request와 Reponse가 일어날 때 DTO의 틀에 맞게 데이터를 담아 Service나 Controller 등으로 전달해준다.
계층간 데이터 교환을 위한 객체이며, 로직을 가지고 있지 않은 순수한 데이터 객체다.
Service
세분화된 비즈니스 로직을 처리하는 객체.
비즈니스 로직이 들어가는 부분이다.
Controller
Client의 요청에 대한 결과값을 반환해주기 위해 Service에 명령을 내리고 Service로 부터 얻어낸 결과값을 Client에게 전달해준다.
Client : 서버야 ~기능좀 요청할게!!
(Request URL에 알맞은 Controller 가 해당 요청을 수신한다.)
Controller : Client가 이런 요청을 하네. 나 ~방식으로 요청 처리 할테니 ~좀 해줘.
Service : 잠시만. DAO야 ~쿼리 수행한 결과좀 줘.
DAO : 잠시만. Mapper.xml 아 쿼리 있니?
Mapper.xml: 어 있음. 실행해서 결과 가져옴 기달.
(DB에서 쿼리 수행)
Mapper.xml: DAO야 결과 나왔다. 방금 전달했어!
DAO : 땡큐! Service야 결과 나왔다. 방금 전달했어!
Service : 땡큐! Service야 결과 나왔다. 방금 전달했어!
Controller : 아 다들 너무 수고했고^^~~ Client야 너가 요청한 것에 대한 결과값 여기있어!
'# 1. Language > ☕ Java' 카테고리의 다른 글
DTO와 VO (0) | 2021.09.20 |
---|---|
Boolean과 boolean의 차이 = 참조타입과 원시타입의 차이 (0) | 2021.09.17 |
JPA의 Entity와 Repository (0) | 2021.09.16 |
자주 사용되는 Lombok 어노테이션 (0) | 2021.09.14 |
Java # zulu란? / zulu 다운로드 방법 (0) | 2021.08.31 |