ibatis && mybatis

[ibatis] 리스트 or 배열 iterate 사용

도미노& 2018. 8. 26. 22:05

parameterClass를 객체로 받았을 때 요소에 리스트나 배열이 있을 수 있고,
리스트나 배열을 iterate로 사용해야 할 경우가 있다.



■ select iterate 객체의 요소가 배열일 때
#배열명[]#으로 꺼내서 쓸 수 있다.

1
2
3
4
5
6
7
8
9
<select id="selectxxx" parameterClass="xxxTO">
  SELECT aaa, bbb, ccc, ddd FROM
 
  <iterate open="(" close=")" conjunction="," property="columnnamearr" prepend="WHERE COLUMNNAME IN">
    #columnnamearr[]#
  </iterate>
 
  WHERE KEYID = #keyid#
</select>
cs



■ select iterate 객체의 요소가 리스트일 때
리스트 안에 여러 요소가 있을 수 있다.
그때는 #리스트명[].컬럼명#으로 꺼내서 쓸 수 있다.

1
2
3
4
5
6
7
8
9
<select id="selectxxx" parameterClass="xxxTO">
  SELECT aaa, bbb, ccc, ddd FROM
 
  <iterate open="(" close=")" conjunction="," property="columnnamelist" prepend="WHERE COLUMNNAME IN">
    (#columnnamelist[].aaa#, #columnnamelist[].bbb#)
  </iterate>
 
  WHERE KEYID = #keyid#
</select>
cs