1. 변경 이유

Apache project 팀이 Google code로 팀을 변경하게 되면서 그에 따라 iBatis에서 myBatis로 명칭이 변경되었다.



2. iBatis vs myBatis 비교

항목

iBatis

myBatis

 1) Java 요구 버전

 JDK 1.4 이상

 JDK 1.5 이상

 (myBatis 3.2 부터는 JDK 1.6 이상만 가능)

 2) 패키지 내부 구조

 com.ibatis.*

 org.apache.ibatis.*

 3) sqlMap 내부 구조

 parameterMap을 사용하지 않음

 sqlMapConfig / sqlMap / resultClass 사용

 parameterType으로 대체

 dtd 변경 (http://mybatis.org/dtd/mybatis-3/mapper.dtd)

configuration / Mapper / resultType  사용

 4) 라이브러리

 

 별도의 라이브러리 필요

 5) Annotation

 

 sqlMapClient DI 설정이 불필요해짐

 간편해짐

 Bean id sqlSessionFactory / sqlSessionTemplate만 지정하면 됨

 6) rawhandler

 

 resultHandler로 변경

 자바 @를 사용하여 xml을 사용하지 않음

 자바 코드보다 xml이 우선순위를 가지게 됨

 7) namespace

 <sqlmap namespace="User"  .../>

 <mapper namespace="mybatis.mapper.User" .../>

 필수로 입력해야 하는 항목.

 UserStatement NameSpace 설정을 제거함

 8) 동적 sql

 COLUMN_NAME = #parameter#

 COLUMN_NAME = #{parameter}

 9) 캐시 지원 여부

 X

 O



3. 세부사항

2번 표에서 간단히 요약한 사항들을 세부적으로 파헤쳐본다.

1) Java 요구 버전

2) 패키지 내부 구조

3) sqlMap 내부 구조

4) 라이브러리

5) Annotation

6) rawhandler

7) namespace

8) 동적 sql

9) 캐시 지원 여부

+ Recent posts