개발자가 지정한 SQL, 저장 프로시저와 고급 맵핑을 지원하는 퍼시스턴스 프레임워크.

JDBC로 처리하는 상당 부분의 코드와 파라미터 설정, 결과 맵핑을 지원한다.

 

Apache project 팀에서 개발한 2.3 까지는 iBatis 였지만,

Google code 팀으로 이동한 2.5 버전 부터는 MyBatis로 명칭이 변경되었고, 

명칭 외에도 변경된 점이 꽤 있다.

 

 

 

 

패키지 내부구조

iBatis : com.ibatis.*

MyBatis : org.apache.ibatis.*

 

 

 

 

변경 용어

iBatis MyBatis
SqlMapConfig Configration
sqlMap Mapper
sqlMapClient sqlSession
resultHandler SqlSessionFactory
resultClass resultType
parameterMap
parameterClass
parameterType
rowHandler resultHandler
#var# #{var}
$var$ ${var}
   

 

 

 

Annotation

sqlMapClientDI 설정 >>> sqlSessionFactory, sqlSessionTemplate Bean 지정

 

 

 

 

네임스페이스

iBatis : <sqlMap namespace="memberDAO">

MyBatis : <mapper namespace="com.test.test.MemberMapper">

 

 

 

 

동적 쿼리

iBatis MyBatis
태그 설명 태그 설명
<isEqual> property 값이 같을 때만 실행 <if>
<choose>
<when>
<otherwise>

적절히 사용
<isNotEqual> property 값이 같지 않을 때만 실행
<isGreaterThan> property 값이 비교값보다 클 때 실행
<isLessEqual> property 값이 비교값보다 작거나 같을 경우 실행
<isPropertyAvailable> property 값이 유효할 경우 실행
<isNotPropertyAvailable> property 값이 유효하지 않을 경우 실행
<isNull> property 값이 null일 때 실행
<isNotNull> property 값이 null이 아닐 때 실행
<isEmpty> property 값이 비어있을 때 실행
<isNotEmpty> property 값이 비어있지 않을 때 실행
<isParameterPresent> parameter가 있을 때 실행
<isNotParameterPresent> parameter가 없을 때 실행
<iterate> 배열 타입의 파라미터를 받을 때 활용 <foreach> 배열 타입의 파라미터를 받을 때 활용
<dynamic> 하위 태그에 일치하는 내용이 존재할 경우 where 절을 붙인다 <where>, <trim> 하위 태그에 일치하는 내용이 존재할 경우 where 절을 붙인다.
    <set> 동적으로 update 구문을 만들 때 사용
    <bind> 변수를 생성하는 태그

 

+ Recent posts