MyBatis란 무엇인가?

  • Java에서 데이터베이스에 쉽게 접근할 수 있도록 도와주는 Persistence Framework이다.
  • JPA처럼 자동으로 SQL을 생성해주는 방식이 아니라 (ORM X), 원하는 SQL을 직접 실행 시키는 방식이기 때문에 세밀한 DB 컨트롤이 가능하다는 장점이 있다.

Spring + MyBatis 처리 흐름

1. Controller -> Service

  • 클라이언트 측에 요청이 들어오면 Controller는 이를 Service 계층으로 보낸다.
  • Service는 비지니스 로직을 처리하는 과정에서 DB 접근이 필요하면 Mapper(Repository)를 호출한다.

2. Service -> Mapper(Repository)

  • Service가 Mapper를 호출하면 Mapper 인터페이스의 메서드를 호출한다.
  • 직접 SQL을 다루지는 않고, MyBatis가 Mapper 인터페이스와 XML을 이용해 대신 처리하도록 위임한다.

3. MyBatis SqlSession이 매퍼 XML을 조회


참고자료 :

스프링 MyBatis란 무엇인가? - 동작 원리와 처리 흐름 정리

MyBatis란?, 마이바티스란?(예제코드) 간단하고 쉽게 이해하기

MyBatis란? 개념 및 데이터구조


한번 읽어보면 좋은 자료: JPA