ibatis批量删除的方法!
作者:未知 来源:绿软联盟 发布时间:2015-6-2 20:30:21
作者:未知 来源:绿软联盟 发布时间:2015-6-2 20:30:21
第一种
<delete id="deleteUsers" parameterClass="java.lang.String">
delete from w_user where userid in ($ids:String$)
</delete>
String ids = "15,16";
第二种
看ibatis官方文档上介绍有个Iterate:这属性遍历整个集合,并为List集合中的元素重复元素体的内容。
心想这个就是可以批量删除了。
它提供了一个例子:
例子:
<iterate prepend=”AND” property=”userNameList”
open=”(” close=”)” conjunction=”OR”>
username=#userNameList[]#
</iterate>
我修改下 这样使用
<statement id="deleteList" parameterClass="java.util.List">
DELETE FROM info
<iterate prepend="WHERE" property="listInfoIds" open="(" close=")"
conjunction="OR">
name=#listInfoIds[]#
</iterate>
</statement>
运行时却报错
出现com.ibatis.common.beans.ProbeException: Error getting ordinal list from JavaBean错误
尝试着去掉property属性。
嘿嘿。。成功了。就是他在作怪。
正确的写法:
<statement id="deleteList" parameterClass="java.util.List">
DELETE FROM info
<iterate prepend="WHERE" open="(" close=")" conjunction="OR">
name=#listInfoIds[]#
</iterate>
</statement>
文章来自绿盟(xDowns.com)转载请注明来路。
上一篇文章:PHP程序员使用最多的五个工具 []