728x90

1. MyBatis는?

- 기존 JDBC코드는 Connection과 Statement를 통해 쿼리를 전송하면 연결받고 Close하는 방식을 사용.

 ==> 이를 프레임워크화를 하여 캡슐화를 한것이 mybatis. 

- JDBC 코드를 간편하게 사용할 수 있고 SQL문장과 프로그래밍 코드가 분리되어 있어 사용하는데 있어 편리

- 또한 라이브러리를 통해 매개변수를 전달하고 결과를 추출하는 일이 간단히 처리가능 


2. iBATIS -> MyBatis : 이름 변경의 이유?

Apache Proejct팀이 iBATIS를 ~2.3까지 개발 하였음.

이후 해당 팀이 google code 팀으로 이동하면서, 이름을 MyBatis로 변경하여 2.5부터 개발 진행중.

 

3. 차이점

1) Java 요구사항 차이점

iBATIS : JDK 1.4 이상 가능
MyBatis : JDK 1.5 이상 가능(MyBatis 3.2 이상 버전은 JDK 1.6 이상 요구)

 

2) 패키지 내부 구조 변경

iBATIS : com.ibatis.*

MyBatis : org.apache.ibatis.*

 

3) sqlMap.xml 내부구조 변경

iBATIS: parameterMap

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

 

4) pom.xml 설정

<!-- iBATIS pom.xml -->
<dependency>
    <groupid>org.apache.ibatis</groupid>
   <artifactid>ibatis-sqlmap</artifactid>
   <version>2.3.4.726</version>
</dependency>
<!-- MyBatis pom.xml -->
<dependency>
    <groupid>org.mybatis</groupid>
   <artifactid>mybatis</artifactid>
   <version>3.4.5</version>
</dependency>
 
<dependency>
   <groupid>org.mybatis</groupid>
   <artifactid>mybatis-spring</artifactid>
    <version>1.3.1</version>
</dependency>

(상위버전이 필요하다면 maven repository에서 확인)

5) 네임스페이스 방식 변경

iBATIS : <sqlMap namespace=”User”>

MyBatis : <mapper namespace=”myBatis.mapper.UserMapper”>

네임스페이스 사용은 필수, userStatementNameSpace설정 제거



 

 

Reference

https://sdevstudy.tistory.com/18

https://uwostudy.tistory.com/19

https://hunit.tistory.com/200

 

728x90

+ Recent posts