Dynamic Query란?
- parameter 값에 의해 쿼리를 동적으로 변환 해주는 기능이다.
- <dynamic> 태그를 추가 / 생략하여 사용하며 prepend, open, close등의 속성을 사용함
* prepend : 값이 있는 경우 맨 앞에 나옴 ex) AND, OR, ETC...
* open : 시작 값을 의미하며 prepend 다음에 붙음
* end : 종료 값
* ex) prepend ="WHERE" open="(" end =")"
다양한 연산들
* <isEQual> : 같은지 비교 ex) #property# = compareValue
* <isNotEqual> : 같지 않은지 비교 ex) #property# <> compareValue
* <isGreaterThan> : 큰지 비교 ex) #property# >= compareValue
* <isGreaterEqual> : 크거나 같은지 비교 ex) #property# >= compareValue
* <isLessThan> : 작은지 비교 ex) #property# < compareValue
* <isLessEqual> : 작거나 같은지 비교 ex) #property# <= compareValue
속성
• 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 : 끝에 넣을 문자
* Collection을 반복한다.
* 주로 IN 연산을 하기 위해 사용한다.
속성
• prepend : 값이 있는 경우 맨 앞에 Append 된다. (추가적인 SQL 문장) (옵션)
• property : 반복되기 위한 java.util.List타입의 프라퍼티(필수)
• open : 반복의 전체를 열기 위한 문자열, 괄호를 위해 유용하다. (옵션)
• close : 반복의 전체를 닫기 위한 문자열, 괄호를 위해 유용하다. (옵션)
• conjunction : 각각의 반복 사이에 적용되기 위한 문자열, IN 연산시 콤마(,) (옵션)