因为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>