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> | 변수를 생성하는 태그 | ||
반응형