<select id="test" parameterClass="Map">
SELECT *
FROM IS016_VNIN
<dynamic prepend="WHERE">
<isNotNull prepend="AND" removeFirstPrepend="true" open="(" close=")" >
<isNotEmpty prepend="OR" property="kojic">
KOJIC = #kojic#
</isNotEmpty>
<isNotEmpty prepend="OR" property="pYear">
P_YEAR = #pYear#
</isNotEmpty>
</isNotNull>
<isNotEmpty prepend="AND" property="kojic1">
KOJIC = #kojic1#
</isNotEmpty>
</dynamic>
</select>
동적으로 where ( a = '1' or b = '2') and c = '3' 을 만들기 위한 쿼리...
removeFirstPrepend="true" => 이태그 밑의 처음 들어오는 조건은 prepend 를 붙이지 않겠다는....
isNotNull 테그 안에 하나라도 조건이 있으면 처음과 끝에 '(', ')' 를 붙이겠다는...
즉 동적으로 where ( a = '1' or b = '2') and c = '3' 이런 쿼리를 만든다..ㅋ
[출처] ibatis 동적 쿼리 예제|작성자 홍사마
'SQL > IBATIS' 카테고리의 다른 글
ibatis Boolean 사용법 (0) | 2014.04.12 |
---|---|
동적쿼리 예제 isGreater, isNull,isEmpty 등 (0) | 2014.04.12 |
ibatis 글자수로 조건 줄때 (0) | 2014.04.12 |
동적 SQL (0) | 2014.03.25 |
dynamic 태그, isParameterPresent, removeFirstPrepend 설명 (0) | 2014.03.25 |
조회수 증가 쿼리(ibatis) (0) | 2014.02.19 |
[iBatis] iBatis 에서 Dynamic Mapped Statement 사용시 문제 (0) | 2014.02.19 |
SqlMapClient API를 통해 statement를 수행하기. (0) | 2014.02.19 |