◇ LAB · MVC

DAO / Repository

Spring MVC — 실습

📍 지금 어디를 만지고 있나요?
브라우저
Spring MVC
DB

사전 준비

이번 실습의 목표

식재료 창고(DB)에 접근하는 일만 전담. SQL 을 작성하고 결과를 객체로 변환.

1
BoardMapper 인터페이스 작성
// src/main/java/com/smhrd/mapper/BoardMapper.java
package com.smhrd.mapper;

import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import com.smhrd.domain.Board;

@Mapper
public interface BoardMapper {
    List<Board> selectList();
    Board       selectOne(int num);
    void        insert(Board b);
    void        update(Board b);
    void        delete(int num);
}
CHECKPOINT
  • 패키지가 com.smhrd.mapper 인가?
  • 도메인이 com.smhrd.domain.Board 인가?
2
Service 에서 Mapper 주입 (의존 방향 확인)
// src/main/java/com/smhrd/service/BoardService.java
package com.smhrd.service;

@Service
public class BoardService {
    @Autowired
    private BoardMapper mapper;     // ⭐ Service → Mapper

    public Board find(int num) {
        return mapper.selectOne(num);
    }
}
CHECKPOINT
  • Service 안에 SQL 문이 한 줄도 없는가?
  • Mapper 가 Service 를 호출하는 코드는 없는가? (역방향 금지)

실습 완료 체크리스트

com.smhrd.mapper.BoardMapper 인터페이스 작성
메서드명 = selectList / selectOne / insert / update / delete (표준 id)
Service 가 Mapper 를 주입받아 호출만 함
Service 안에 SQL 직접 작성 없음