[Mybatis] iBatis와 MyBatis 차이점.
기존의 프로젝트는 예전에 만들어진 것으로 iBatis를 사용하고 있다.
그래서 배우기전에 차이점을 좀 알아보았다.
기술의 발전은 MyBatis가 더 최신이다.
1. Ibatis에서 MyBatis로 변경된 이유
- Apache project팀에서 google code팀으로 이동하면서 명칭이 변경됨.
2. 차이점
- Java요구 버전 : iBatis에서는 JDK 1.4 이상에서 사용 가능 MyBatis에서는 JDK 1.5 이상 사용 가능.
- 패키지 내부 구조가 변경되었음 : ibatis : com.ibatis.* // MyBatis : org.apache.ibatis.*
3. sqlMap.xml 내부 구조가 변경됨
- parameterMap 사용 못함. -> parameterType으로 대체.
- DTD(문서 타입 정의)가 변경 <“http://mybatis.org/dtd/mybatis-3-mapper.dtd”>
- 사용 용어의 변경 ↓
4. MyBatis lib 별도 제공
1
2
3
4
5
6
7
8
9
10
11
|
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.2</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.2.0</version>
</dependency>
|
5. Annotation 도입
- sqlMapClient DI 설정 불필요
6. 네임스페이스 방식 변경
- ibatis : <sqlMap namespace=”User”>
- MyBatis : <mapper namespace=”myBatis.mapper.UserMapper”>
- 네임스페이스 사용은 필수, userStatementNameSpace설정 제거
7. 동적 SQL – XML 엘리먼트
- If, choose(when, otherwise), trim (whre,set), foreach
8. 동적 SQL – XML 엘리먼트
- If, choose(when, otherwise), trim (whre,set), foreach
9. (스프링 연동모듈) mapper 자동 검색