: Java Object와 SQL 사이의 자동 매핑 기능을 지원하는 ORM 프레임워크
- 쉬운 접근성과 코드의 간결함
- JDBC의 모든 기능을 대부분 제공
- 복잡한 JDBC 코드 ➝ 깔끔한 소스코드
- 수동적인 파라미터 설정
- 쿼리 결과에 대한 맵핑 구문 제거
- SQL문과 프로그래밍 코드의 분리
- SQL에 변경이 있어도 Java 코드를 수정하지 않아도 됨
- 다양한 프로그래밍 언어로 구현 가능
- Java, C#, .NET, Ruby 등
- MyBatis3의
작업 설정
을 설명하는 XML 파일- DB 연결 대상
- 매핑 파일의 경로
- MyBatis3의 작업 설정
- MyBatis3 구성 파일을
읽고 생성
하는 SqlSessionFactory 구성 요소 - Spring과 통합돼 사용할 떄 애플리케이션 클래스에서 직접 처리하지 않음
- SqlSession을
생성
하는 구성 요소 - Spring과 통합돼 사용할 떄 애플리케이션 클래스에서 직접 처리하지 않음
SQL 실행
및트랜잭션 제어
를 위한 API를 제공하는 구성 요소- Spring과 통합돼 사용할 떄 애플리케이션 클래스에서 직접 처리하지 않음
- typesafe에서 매핑 파일에 정의된 SQL을 호출하는 인터페이스
- SQL 및 O/R 매핑 설정을 설명하는 XML 파일
Application
이SqlSessionFactoryBuilder
호출SqlSessionFactoryBuilder
가 SqlSessionFactory를 생성하기 위해MyBatis Config File
을 읽음- SqlSessionFactoryBuilder가
SqlSessionFactory
를 생성 - Client가
Request
를 보냄 Application
이SqlSessionFactory
에서 SqlSession을 가져옴- SqlSessionFactory가
SqlSession
생성 및Application
에게 반환 - Application이 SqlSession에서
Mapper Interface
의 구현 개체를 가져옵니다. - Application이 Mapper Interface 메서드 호출
- Mapper Interface의 구현 개체가 SqlSession
메서드 호출
및SQL 실행 요청
- SqlSession이 Mapping File에서 실행할 SQL을 가져와 SQL 실행