01. MyBatis 개요
01. MyBatis
01-01. Mybatis란
- 데이터의 입력, 조회, 수정, 삭제(CRUD)를 보다 편하게 할 수 있도록 xml로 구조화한 Mapper설정 파일을 통해 JDBC를 구현한 영속성 프레임워크이다.
- 기존에 JDBC를 통해 구현했던 상당 부분의 코드, 파라미터 설정 및 결과 mapping을 xml 설정으로 쉽게 구현할 수 있게 한다.
- Mybatis API 사이트: http://www.mybatis.org/mybatis-3/ko
01-02. Mybatis의 흐름 및 구조
- 이전에 JDBC Template을 통해 SQL을 실행했다면, Mybatis는 같은 흐름을 전용 라이브러리로 대체하여 동작한다.

- MyBatis 동작 구조

02. iBatis와 MyBatis
02-01. iBatis에서 MyBatis로
- 기존에 Apache project에서 iBatis를 운영하던 팀이 2010년 5월 9일에 Google 팀으로 이
동하면서 MyBatis로 이름을 바꾸었다.
- MyBatis는 기존 iBatis의 한계점인 Dynamic query(동적 쿼리)와 Annotation 처리를 보강하여 더 나은 기능을 제공한다.
- iBatis는 현재 비활성화 상태이며, 기존에 iBatis로 만들어진 애플리케이션의 지원을 위한 라이브러리만 제공하고 있다.
02-02. iBatis와 MyBatis의 차이점
-
Java 요구 버전
- iBatis는 JDK 1.4 이상, MyBatis에서는 JDK 1.5 이상 사용 가능하다.
-
패키지 구조 변경
- iBatis : com.ibatis.*
- MyBatis : org.apache.ibatis.*
-
사용 용어의 변경
| iBatis | MyBatis |
|---|
| SqlMapConfig | Configuration |
| sqlMap | Mapper |
| resultClass | resultType |
-
동적 쿼리 지원
- Mybatis는 if, choose, trim, foreach 문을 지원한다.
-
자바 Annotation 지원