페이지

2014년 3월 19일 수요일

[devon]dynamic query 비교값

조건문비교값
GE>=
GT>
LE
LT<
EQ==
NE!=
EMPTY값이 없을 경우
NULLNULL인 경우
NOTNULLNot null인 경우
NOTEMPTY값이 있을 경우
NONEnull이거나 빈 스트링인 경우
NOTNONEnull이 아니고 빈 스트링이 아닌 경우


항목역할 및 기능
statement name사용할 SQL문의 이름
append / replace조건에 따라 query문에 append / replace
whereWhere를 붙일지 여부. True인 경우 where를 붙임(생략할 경우 false)
condition체크할 조건. EQ:”=” GE:”>=” LE:”?” GT:”>” LT:”<” EMPTY:”” NE:”!=” NULL:null NOTEMPTY:”값이 존재” 위의 조건으로 좌측에 정의된 값과 dn측에 정의된 값을 비교하여 맞을 경우 정의된 append, replace를 시행한다. 단 EMPTY와 NOTEMPTY, NULL인 경우는 좌측 값만 기술한다. 비교해야 할 값이 두 개 이상인 경우 and(&), or연산이 가능하다.
idappend나 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&amp;${age}.GE.5)||${name}.EQ.park" id="#1"
    AND age > 5 
  </append
  <replace condition="${age}.NOTEMPTY" id="#2"
    a.bookid 
  </replace
</statement>

댓글 없음:

댓글 쓰기

image

image