Language/JAVA

[iBatis] iterate

idleday 2024. 6. 14. 18:03

iBatis iterate문 태그

  • property : 파라미터명  - 반복돌릴 대상들이 들어있는 리스트
  • prepend : 쿼리로 쓰일 문자 - iterate문 전에 쓰인다 (AND, IN, WHERE 컬럼명 IN 등)
  • open : 구문이 시작될때 삽입할 문자열
  • close : 구문이 종료될때 삽입할 문자열
  • conjunction : 반복되는 사이에 출력할 문자열

업무에서 활용해야해서 엄청 찾아봤는데 보통 AND, OR, IN 문을 쓰지

나처럼 해당되지않는 것을 찾는 NOT IN 용으로는 iterate 쓴 예문이 없어서 시행착오 많이했다.

"AND chktype NOT IN" <- 쿼리 부분을 prepend 으로 넣으니까 안되더라. 웬만하면 그냥 쿼리 쓰자.

-- DELETE문이나 SELECT문 쓰면 된다
DELETE 
FROM tb_sample
WHERE userId = #userId#
<isNotEmpty property="chkList">
  AND chktype NOT IN
	<iterate property="chkList" open="(" close=")" conjunction=",">
    #chkList[]#
    </iterate>
</isNotEmpty>

 

 

 

 


Ref

 

ibatis와 mybatis에서 xml파일 반복문(foreach, iterate)

ibatis iterate문 지원 태그 property : 파라미터명 prepend : 쿼리로 쓰일 문자 open : 구문이 시작될때 삽입할 문자열 close : 구문이 종료될때 삽입할 문자열 conjunction : 반복되는 사이에 출력할 문자열 idArr

yeon960.tistory.com

 

'Language > JAVA' 카테고리의 다른 글

Stream API 2 : Collection 합 구하기  (1) 2024.05.31
테스트 도구 JUnit5  (0) 2024.03.14
Stream API  (1) 2024.02.27
[Java] Request Parameter 출력  (0) 2024.01.15
[JAVA] 반복문에서 배열요소 삭제  (2) 2023.11.02