ibatis vs mybatis

BackEnd_Ash.log·2022년 5월 1일
2

✅iBatis와 MyBatis

두개의 차이가 무엇인지 검색을 했는데 ,
큰 차이는 없고 , 버전이 변경되면서 이름을 그냥 변경한것 같다.

Apache project팀에서 google code 팀으로 이동하면서 명칭이 변경

하지만 명칭이 변경되면서 버전이외에 다른것들도 많이 변경된것 같다.

📌JDK

JDK 에 변경점이 있는데 ,
JDK 란 ??
Java Development Kit 자바 개발 키트
개발자들이 Java로 프로그램을 만들 수 있도록 다양한 기능을 제공하는 키트.
컴파일러 , JRE , JVM 등의 도구들을 가지고 있다.

  • IBATIS : JDK 1.4 이상 사용 가능
  • MyBatis : JDK 1.5 이상 사용가능 (MyBatis 3.2 이상 버전은 JDK 1.6 이상 요구)

아마 대부분 사람들이 JDK 1.8 버전 사용하시던데 그럼 MyBatis 3.2 이상 버전을 사용하실것 같다.

📌패키지 내부구조 변경

iBATIS : com.ibatis.
MyBais : org.apache.ibatis.

📌sqlMap.xml 내부구조

iBatisMyBatis
SqlMapConfigConfigration
sqlMapMapper
parameterMapparameterType
resultClassresultType
#var##{var}
$var#${var}

📌pom.xml 설정

iBATIS

<!-- iBATIS pom.xml -->
<dependency>
    <groupid>org.apache.ibatis</groupid>
   <artifactid>ibatis-sqlmap</artifactid>
   <version>2.3.4.726</version>
</dependency>

MyBatis

<!-- 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>

라고 되어있지만 ,, 우리 프로젝트를 보게되면 ,

package com.tn.batch.user;

import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

@Mapper
interface TestRepository {
    List<Map<String, Object>> findAll();
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.tn.batch.user.TestRepository">

    <select id="findAll" resultType="java.util.HashMap">
        SELECT *
        FROM TEST
    </select>
</mapper>

로 나와있다.

📌 Annotation

sqlMapClient DI 설정이 필요없어졌다.
Bean id sqlSessionFactory, sqlSessionTemplate만 지정하면 된다.

📌 네임스페이스 변경

iBATIS : <sqlMap namespace="memberDAO">
MyBatis : <mapper namespace="com.tn.batch.user.TestRepository">

📌 Dynamic Query

Dynamic Query 는 상황에 맞게 분기처리 하듯이 쿼리를 날릴수 있게해준다.

iBATIS 에서 사용했던것보다 MyBatis 에선 좀더 간편해졌다.

profile
꾸준함이란 ... ?

0개의 댓글