학습 목표
- DAO / Repository 의 핵심 개념을 안다
- DAO/Repository — 창고 관리자 의 동작을 안다
- 데이터 접근 책임이 한 곳에 모인다.
1. 문제
Service 에서 SQL 도 같이 쓰면 안 되나? — 안 됨. 변경 사유가 다르므로 분리.
2. 새 도구
DAO/Repository — 창고 관리자: 식재료 창고(DB)에 접근하는 일만 전담. SQL 을 작성하고 결과를 객체로 변환.
3. 코드 — BoardMapper v5 형태
// com/smhrd/mapper/BoardMapper.java
package com.smhrd.mapper;
@Mapper
public interface BoardMapper {
List<Board> selectList();
Board selectOne(int num);
void insert(Board b);
void update(Board b);
void delete(int num);
}
4. 정리
- DAO/Repository = SQL 만 담당
- @Repository 로 등록
- Service 는 SQL 을 모름 — 메서드 호출만
5. Before / After
전 차시
Service 에서 SQL 도 같이 쓰면 안 되나? — 안 됨. 변경 사유가 다르므로 분리.
이번 차시
데이터 접근 책임이 한 곳에 모인다.
학습 확인 체크리스트
- DAO/Repository = SQL 만 담당
- @Repository 로 등록
- Service 는 SQL 을 모름 — 메서드 호출만