IT
ibatis에서 where문에 in을 사용하는 경우
happy4u
2006. 3. 29. 15:51
<dynamic prepend="WHERE">
<isNotEmpty prepend="AND" property="categoryCode">
TC.categoryCode in (#categoryCode#)
</isNotEmpty>
</dynamic>
그냥 이렇게 하면 될 줄 알았는데,
categoryCode가 001,002 이렇게 되면 "001,002" 로 검색을 하더군요.
이런 경우 <iterate>를 이용해야 한다.
아래와 같이
<dynamic prepend="WHERE">
<isGreaterThan prepend="AND" property="categoryLength" compareValue="0">
TC.categoryCode
<iterate prepend="IN" property="categorys" open="(" close=")" conjunction=",">
#categorys[]#
</iterate>
</isGreaterThan>
</dynamic>
하면 해결 되더군요.