iBATIS 동적 WHERE 절 다루기 위한 요소 설명
728x90
반응형
내용 출처 : iBATIS 인 액션 도서
<dynamic> 요소 속성
prepend |
속성값을 요소 내용의 가장 앞에 붙이기 위해 사용한다. prepend의 값은 요소 내용이 공백일 때는 앞에 붙이지 않는 다. |
open |
open 값은 요소 내용에 접두사로 붙이기 위해 사용한다. open 값은 요소 내용이 공백일 때는 출력되지 않는다. open 값은 prepend 속성 값보다는 뒤에 붙는다. 예를 들면 prepend="WHEN" 이고 open="(" 라면 조합된 결과는 "WHEN (" 가 될 것이다. |
close | close 값은 요소 내용의 뒤에 덧붙이기 위해 사용한다. 이 값은 요소 내용이 공백이라면 출력되지 않는다. |
이항연산 요소
이항연산 요소 속성
property (필수) |
compareValue나 compareProperty 와 비교하는 데 사용할 파라미터 프로퍼티 |
perpend |
이 값은 보통 요소 내용의 가장 앞에 출력된다. 다음의 경우에는 prepend 의 값이 출력되지 않고 무시된다: (a) 요소의 결과 내용이 공백인 경우, (b) 요소가 처음으로 내용을 만들어 냈고 removeFirstPrepend 속성이 true 인 요소에 내포되어 있는 경우, (c) <dynamic> 요소 다음에 공백이 아닌 내용을 처음으로 출력하고 prepend 에 값이 지정돼 있는 요소일 경우. |
open |
open 값은 요소 내용에 접두사로 붙이기 위해 사용한다. open 값은 요소의 결과내용이 공백일 때는 접두사로 붙지 않는 다. open 값은 prepend 속성 값보다는 뒤에 붙는 다. 예를 들어 prepend="OR" 이고 open="(라면 조합된 결가는 "OR (" 가 될것이다. |
close |
close 값은 요소 결과 내용의 뒤에 덧붙이는데 사용한다. 이 값은 요소 내용이 공백이라면 덧붙여지지 않을 것이다. |
removeFirstPrenpend |
이 값은 처음으로 내용을 출력하는 자식 요소의 prepend 속성 값을 출력하지 여부를 결정한다. |
compareProperty (compareValue 가 명시되지 않았다면 필수) |
compareProperty 는 property 속성에 의해 명명된 프로퍼티와 비교할 파라미터 객체의 프로퍼티를 명시한다. |
compareValue(compareProperty가 명시되지 않았다면 필수) | property 속성에 의해 명명된 프로퍼티와 비교할 정적인 비교값 |
이항연산 동적 요소
<isEqual> | property 속성값이 compareProperty 값이나 compareValue 값과 같은지 검사 |
<isNotEqual> | property 속성값이 compareProperty 값이나 compareValue 값과 같지 않은지 검사 |
<isGreaterThan> | property 속성값이 compareProperty 값이나 compareValue 값보다 큰지 검사 |
<isGreaterEqual> | property 속성값이 compareProperty 값이나 compareValue 값보다 큰거나 같은지 검사 |
<isLessThan> | property 속성값이 compareProperty 값이나 compareValue 값보다 작은지 검사 |
<isLessEqual> | property 속성값이 compareProperty 값이나 compareValue 값보다 작거나 같은지 검사 |
단항연산 요소
단항연산 요소 속성
property (필수) |
상태 비교를 위해 사용되는 파라미터의 변수명 |
perpend |
이 값은 보통 요소 내용의 가장 앞에 출력된다. 다음의 경우에는 prepend 의 값이 출력되지 않고 무시된다: (a) 요소의 결과 내용이 공백인 경우, (b) 요소가 처음으로 내용을 만들어 냈고 removeFirstPrepend 속성이 true 인 요소에 내포되어 있는 경우, (c) <dynamic> 요소 다음에 공백이 아닌 내용을 처음으로 출력하고 prepend 에 값이 지정돼 있는 요소일 경우. |
open |
open 값은 요소 내용에 접두사로 붙이기 위해 사용한다. open 값은 요소의 결과내용이 공백일 때는 접두사로 붙지 않는 다. open 값은 prepend 속성 값보다는 뒤에 붙는 다. 예를 들어 prepend="OR" 이고 open="(라면 조합된 결가는 "OR (" 가 될것이다. |
close |
close 값은 요소 결과 내용의 뒤에 덧붙이는데 사용한다. 이 값은 요소 내용이 공백이라면 덧붙여지지 않을 것이다. |
removeFirstPrenpend | 이 값은 처음으로 내용을 출력하는 자식 요소의 prepend 속성 값을 출력하지 여부를 결정한다. |
단항연산 요소
<isPropertyAvailable> | 명시된 프로퍼티가 파라미터에 존재하는 지 검사. 빈즈에서는 프로퍼티를 찾고 Map에서는 키를 찾는 다. |
<isNotPropertyAvailable> | 명시된 프로퍼티가 파라미터에 존재하지 않는 지 검사. 빈즈에서는 프로퍼티를 찾고 Map에서는 키를 찾는 다. |
<isNull> | 명시된 프로퍼티가 null 인지 검사. 빈즈에서는 프로퍼티를 찾고 Map 에서는 key를 찾는다. 키가 존재하지 않으면 true 를 반환한다. |
<isNotNull> |
명시도니 프로퍼티가 null이 아닌 다른 값인지를 검사. 빈즈에서는 프로퍼티를 찾고 Map에서는 키를 찾는다. 키가 존재하지 않는다면 false 를 반환한다. |
<isEmpty> | 명시된 프로퍼티가 null이거나 빈 문자열(""), 빈 컬렉션이나 빈 String. valueOf() 인지를 검사. |
<isNotEmpty> | 명시된 프로퍼티가 null이 아니거나 빈 문자열(""), 빈 컬렉션, 빈 String, valueOf() 가 아닌지 검사. |
파라미터 요소
파라미터 요소 속성
perpend |
이 값은 보통 요소 내용의 가장 앞에 출력된다. 다음의 경우에는 prepend 의 값이 출력되지 않고 무시된다: (a) 요소의 결과 내용이 공백인 경우, (b) 요소가 처음으로 내용을 만들어 냈고 removeFirstPrepend 속성이 true 인 요소에 내포되어 있는 경우, (c) <dynamic> 요소 다음에 공백이 아닌 내용을 처음으로 출력하고 prepend 에 값이 지정돼 있는 요소일 경우. |
open |
open 값은 요소 내용에 접두사로 붙이기 위해 사용한다. open 값은 요소의 결과내용이 공백일 때는 접두사로 붙지 않는 다. open 값은 prepend 속성 값보다는 뒤에 붙는 다. 예를 들어 prepend="OR" 이고 open="(라면 조합된 결가는 "OR (" 가 될것이다. |
close | close 값은 요소 결과 내용의 뒤에 덧붙이는데 사용한다. 이 값은 요소 내용이 공백이라면 덧붙여지지 않을 것이다. |
removeFirstPrenpend | 이 값은 처음으로 내용을 출력하는 자식 요소의 prepend 속성 값을 출력하지 여부를 결정한다. |
파라미터 요소
<isParameterPresent> | 파라미터 객체가 존재하는 지 평가 |
<isNotParamterPresent> | 파라미터가 존재하지 않는지 평가 |
<iterate> 요소
<iterate> 요소 속성
property (필수) | 리스트(컬렉션 혹은 배열)을 포함하고 있는 파라미터의 프로퍼티 |
perpend |
이 값은 보통 요소 내용의 가장 앞에 출력된다. 다음의 경우에는 prepend 의 값이 출력되지 않고 무시된다: (a) 요소의 결과 내용이 공백인 경우, (b) 요소가 처음으로 내용을 만들어 냈고 removeFirstPrepend 속성이 true 인 요소에 내포되어 있는 경우, (c) <dynamic> 요소 다음에 공백이 아닌 내용을 처음으로 출력하고 prepend 에 값이 지정돼 있는 요소일 경우. |
open |
open 값은 요소 내용에 접두사로 붙이기 위해 사용한다. open 값은 요소의 결과내용이 공백일 때는 접두사로 붙지 않는 다. open 값은 prepend 속성 값보다는 뒤에 붙는 다. 예를 들어 prepend="OR" 이고 open="(라면 조합된 결가는 "OR (" 가 될것이다. |
close | close 값은 요소 결과 내용의 뒤에 덧붙이는데 사용한다. 이 값은 요소 내용이 공백이라면 덧붙여지지 않을 것이다. |
removeFirstPrenpend | 이 값은 처음으로 내용을 출력하는 자식 요소의 prepend 속성 값을 출력하지 여부를 결정한다. |
conjunction | 이 속성의 값은 값 모록의 사이 사이에 출력디어 SQL 문장을 구성한다. |
<iterate> 요소 예제
<select id="getProducts" parameterClass="Product" resultClass="Product">
SELECT * FROM TEST
<dynamic prepend="WHERE productType IN ">
<iterate property="productTypes" open="(" close=")" conjunction=",">
productType=#productTypes[]#
</iterate>
</dynamic>
</select>
728x90
반응형
'개발노트 > MyBATIS & iBATIS' 카테고리의 다른 글
iBATIS DBCP 사용하기 (1) | 2010.04.15 |
---|---|
자바 iBATIS 결과를 XML 리턴받기 : xmlResultName , java , xml (3) | 2010.01.11 |
Log4j 를 이용해 로그 출력하기. : iBATIS (2) | 2009.11.28 |
iBATIS 배열 파라메터 처리 : iBATIS Array Parameter (0) | 2009.11.16 |