Spring
아이바티스(iBATIS) vs 마이바티스(MyBatis) 태그 비교
dev.mk
2019. 9. 29. 17:40
반응형
네임스페이스 형태
iBATIS : <sqlMap namespace="bbsDAO">
MyBatis : <mapper namespace="com.company.test.bbsMapper">
Dynamic Query iBATIS vs MyBatis 비교 예제
iBATIS | MyBatis |
isNull //searchName변수가 null이면 <isNull property="searchName"> AND NAME IS NOT NULL </isNull> |
//searchName변수가 null이면 <if test='searchName == null'> AND NAME IS NOT NULL </if> |
isNotNull //searchName 변수가 널이 아니면 NAME 컬럼에 검색 값 대입 <isNotNull property="searchName"> AND NAME = #searchTxt# </isNotNull> |
//searchName 변수가 널이 아니면 NAME 컬럼에 검색 값 대입 <if test=' searchName != null ' > AND NAME = #{searchTxt} </if> |
isEmpty //searchName 변수가 공백이면 <isEmpty property="searchName"> AND NAME IS NOT NULL </isEmpty> |
//searchName 변수가 공백이면 <if test='searchName == "" '> AND NAME IS NOT NULL </if> |
isNotEmpty //searchName 변수가 공백이 아니면 <isNotEmpty property="searchName"> AND NAME = #searchTxt# </isNotEmpty> |
//searchName 변수가 공백이 아니면 <if test="searchName != ''"> AND NAME = #{searchTxt} </if> |
//searchAge변수가 20보다 클 경우 <isGreaterThan property="searchAge" compareValue="20"> 조건 작성 </isGreaterThan> |
//searchAge변수가 20보다 클 경우 <if test='searchAge > 20'> 조건 작성 </if> |
isGreaterEqual //searchAge 변수가 20보다 크거나 같을 경우 <isGreaterEqual property="searchAge" compareValue="20"> 조건 작성 </isGreaterEqual> |
//searchAge 변수가 20보다 크거나 같을 경우 <if test='searchAge >= 20'> 조건 작성 </if> |
isLessThan //searchAge 변수가 20보다 작을 경우 <isLessThan property="searchAge" compareValue="20"> 조건 작성 </isLessThan> |
//searchAge 변수가 20보다 작을 경우 <if test='searchAge < 20'> 조건 작성 </if> |
isLessEqual //searchAge 변수가 20보다 작거나 같을 경우 <isLessEqual property="searchAge" compareValue="20"> 조건 작성 </isLessEqual> |
//searchAge 변수가 20보다 작거나 같을 경우 <if test='searchAge <= 20'> 조건 작성 </if> |
isEqual //searchType변수의 값이 title이면 <isEqual property="searchType" compareValue="title"> AND TITLE = #searchTxt# </isEqual> |
//searchType변수의 값이 title이면 <if test=' searchType == "title" '> AND TITLE = #{searchTxt} </if> |
isNotEqual //searchType변수의 값이 title이 아니면 <isNotEqual property="searchType" compareValue="title"> AND CONTENTS = #searchTxt# </isNotEqual> |
//searchType변수의 값이 title이 아니면 <if test='searchType != "title"'> AND CONTENTS = #searchTxt# </if> |
Dynamic Query 종류
iBATIS | MyBatis | ||
태그 | 설명 | 태그 | 설명 |
<isEqual> | property 값이 같을때만 쿼리 실행 | 일반 개발언어의 if or if ~ else와 동일 |
|
<isNotEqual> | property 값이 같지 않을 때만 쿼리 실행 | ||
<isGreaterThan> | property 값이 비교값보다 클 경우 쿼리 실행 | ||
<isGreaterEqual> | 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> | iBATIS의 <dynamic>과 같이 조건에 따라 where절을 추가할 때 사용 |
<set> | 동적으로 update 구문을 만들 때 사용 | ||
<bind> | 변수를 생성하는 태그 |
반응형