| 조건문 | 비교값 |
| GE | >= |
| GT | > |
| LE | ⇐ |
| LT | < |
| EQ | == |
| NE | != |
| EMPTY | 값이 없을 경우 |
| NULL | NULL인 경우 |
| NOTNULL | Not null인 경우 |
| NOTEMPTY | 값이 있을 경우 |
| NONE | null이거나 빈 스트링인 경우 |
| NOTNONE | null이 아니고 빈 스트링이 아닌 경우 |
| 항목 | 역할 및 기능 |
| statement name | 사용할 SQL문의 이름 |
| append / replace | 조건에 따라 query문에 append / replace |
| where | Where를 붙일지 여부. True인 경우 where를 붙임(생략할 경우 false) |
| condition | 체크할 조건. EQ:”=” GE:”>=” LE:”?” GT:”>” LT:”<” EMPTY:”” NE:”!=” NULL:null NOTEMPTY:”값이 존재” 위의 조건으로 좌측에 정의된 값과 dn측에 정의된 값을 비교하여 맞을 경우 정의된 append, replace를 시행한다. 단 EMPTY와 NOTEMPTY, NULL인 경우는 좌측 값만 기술한다. 비교해야 할 값이 두 개 이상인 경우 and(&), or연산이 가능하다. |
| id | append나 replace할 부분의 id |
예제)
<statement name="retrieveBookMasterList">
<![CDATA[
SELECT {#2} a.bookid
, a.booknm, {/#2} a.author
, a.description
FROM bookmaster a
, codemng b
WHERE age = ?
AND address = ?
AND a.bookid = b.id
{#1}
]]>
<append where="true" condition="(${name}.NOTEMPTY&${age}.GE.5)||${name}.EQ.park" id="#1">
AND age > 5
</append>
<replace condition="${age}.NOTEMPTY" id="#2">
a.bookid
</replace>
</statement>
댓글 없음:
댓글 쓰기