萬盛學電腦網

 萬盛學電腦網 >> 電腦基本常識 >> ibatis批量刪除的方法

ibatis批量刪除的方法

 第一種

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

copyright © 萬盛學電腦網 all rights reserved