ibatis批量删除的方法

王朝学院·作者佚名  2016-06-25
窄屏简体版  字體: 小  |  中  |  大  |  超大  

第一种

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

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航