[IBatis] Dynamic Query 설명 및 사용법(prepend, isequal, isnull, iterate etc)

2020. 2. 5. 13:29
반응형


[IBatis] Dynamic Query 설명 및 사용법(prepend, isequal, isnull, iterate etc)



 

Dynamic Query ?

 

Parameter값으로 쿼리를 동적으로 변환 해주는 기능.
<dynamic> 태그는 추가/생략이 가능하며 prepend, open, close 등의 속성을 사용함
prepend : 값이 있는 경우 맨 앞에 나옴  ( ex)AND / OR / ETC. )
open : 시작 값, prepend 이후에 붙음
end : 종료 값 이후에 붙음
ex) prepend="WHERE" open="(" end=")" 

 



이항연산 (비교연산 등) 

 

 연산종류

설 명 

예제 

 <isEqual>

  같은지 비교

 #property# = compareValue

 <isNotEqual>

  같지 않은지 비교

 #property# <> compareValue

 <isGreaterThan>

  큰지 비교

 #property# >= compareValue

 <isGreaterEqual>

  크거나 같은지 비교

 #property# >= compareValue

 <isLessThan>

  작은지 비교

 #property# < compareValue

 <isLessEqual>

  작거나 같은지 비교

 #property# <= compareV

 

 

속성

 

prepend : 값이 있는 경우 맨 앞에 Append 된다
property : 비교되는 프로퍼티 (필수)
compareProperty : 비교되는 다른 프로퍼티 (필수 또는 compareValue)
compareValue : 비교되는 값 (필수 또는 compareProperty)
open : 시작부분에 넣을 문자. prepend 다음에 붙음.
close : 끝에 넣을 문자

 

 

단항연산 (널 체크 등)


 

 연산종류

설 명 

 <isNull>

 프로퍼티 null 체크

 <isNotNull>

 프로퍼티 null 아닌지 체크

 <isEmpty>

 Collection, 문자열 또는 String.valueOf() 

프로퍼티가 null이거나 empty("" or size() < 1)인지 체크

 <isNotEmpty>

 Collection, 문자열 또는 String.valueOf() 

프라퍼티가 null이 아니거나 empty("" or size() < 1)가 아닌지 체크.

 

 

속성

 

prepend : 값이 있는 경우 맨 앞에 Append 된다. (추가적인 SQL 문장) (옵션)
property : 비교되는 프로퍼티 (필수)
open : 시작부분에 넣을 문자. prepend 다음에 붙음.
close : 끝에 넣을 문자

 

<iterate> 

Collection을 반복한다.
• 주로 IN연산을 하기 위해 사용한다.

 

속성


prepend : 값이 있는 경우 맨 앞에 Append 된다. (추가적인 SQL 문장) (옵션)
property : 반복되기 위한 java.util.List타입의 프라퍼티(필수)
open : 반복의 전체를 열기 위한 문자열, 괄호를 위해 유용하다. (옵션)
close : 반복의 전체를 닫기 위한 문자열, 괄호를 위해 유용하다. (옵션)
conjunction : 각각의 반복 사이에 적용되기 위한 문자열, IN 연산시 콤마(,) (옵션)

 

▼ EX)


1
2
3
4
5
   
<iterate prepend="AND" property="dataList" open="(" close=")" conjunction=",">
        # dataList []#
   </iterate>
 
 
cs

 


반응형

BELATED ARTICLES

more