因为in的性能问题,平常不怎么用。今天特殊需求,在ibatis中需要构建in子句
首先想到直接通过拼接字符串:String states=A,B,C,D,
在ibatis中where states in (#states#) ,在states只有单个字符时运行正常,有了逗号iabtis解析出错。
查询资料,问题解决:
<isNotNull prepend="AND" property="statusList">
A.Delivery_Status_ID in
<iterate property="statusList" conjunction="," open="(" close=")" >
#statusList[].statusCode#
</iterate>
</isNotNull>
本文介绍了在iBatis框架中构建IN子句时遇到的问题及解决方案。通过使用<iterate>标签配合属性设置,可以有效避免字符串拼接带来的语法错误。
2万+

被折叠的 条评论
为什么被折叠?



