-
아이바티스(iBATIS) vs 마이바티스(MyBatis) 태그 비교Spring 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> 변수를 생성하는 태그 반응형'Spring' 카테고리의 다른 글
스프링 Spring + 웹소켓 WebSocket 채팅 초간단 구현 (12) 2020.05.26 Spring @RequestBody 와 @ResponseBody (0) 2019.12.01 스프링(Spring) 컨트롤러(Controller)가 아닌 곳에서 request session정보 가져오기 (0) 2019.02.06 스프링 @Controller 컨트롤러 리턴타입의 종류 (0) 2018.02.18 스프링4.1 Spring @Valid 파라미터검사 벨리데이션 적용하기 (0) 2018.01.21