mybatis 根據id批量刪除的實現操作

2022-09-26 20:33:14 字數 1427 閱讀 8214

第一種,直接傳遞給mapper.xml 集合/陣列形式

j**a.util.list">

delete from user where 1>2

or id in

#1.如果傳入的是單引數且引數型別是乙個list的時候,collection屬性值為list

int deletebylogic(list list);

2.如果傳入的是單引數且引數型別是乙個array陣列的時候, 引數型別為parametertype="int" 集合 collection的屬性值為array

int deletebylogic(int array);

#第二種,直接在service中將資料給分裝傳遞到mapper中

前端封裝為以,為分隔符的id字串。呼叫下方程式設計客棧工具類。生成資料型別為(『12',『34'....)形式

/*** stringutil.getsqlinstrbystrarray()

* author : wyp

* date : 2程式設計客棧016年6月15日下午6:14:05&lfcfaxzzbut;/p>

* desc : 陣列字串轉換為sql in 字串拼接

* @param strarray 陣列字串

* @return sql in 字串

*/ public static string getsqlinstrbystrarray(string str)

temp.append("(");

if(stringutils.isnotempty(str))

} }

} temp.append(")");

return temp.tostring();

}在mapper中直接使用 $ 符號接收即可

int deletebylogic(string ids);

delete from user where 1>2

or id in $

www.cppcns.comt;

還有第三種。不過比較浪費資源

直接在service中迴圈呼叫mapper中的delete方法。.....

補充知識:mybatis中一次執行多條sql語句,例如一次性刪除多條資料

1.首先在資料庫連線url上加上allowmultiqueries=true,預設mysql是不支援一次執行多條sql語句的。

jdbc:mysql:

2.在delete節點中新增多條語句:

delete from music_f**orite where id = #;

delete from music_f**orite_song where f_id = #;

這可以用在mybatis的級聯關係刪除上,刪除主表記錄前,先刪除關聯表的記錄,兩條一起執行。

本文標題: mybatis 根據id批量刪除的實現操作

本文位址:

mybatis 根據id批量刪除的兩種方法

delete from user where 1 2 or id in 1.如果傳入的是單引數且引數型別是乙個list的時候,collection屬性值為list int deletebylogic list list 2.如果傳入的是單引數且引數型別是乙個array陣列的時候,引數型別為param...

java根據id批量修改 刪除

前台 function update var ids arr console.log ids if ids.length 0 else,function 陣列轉字串 success function result 1000 else if result.result 1 1000 return fa...

mybatis 批量刪除

mybatis 批量刪除 目前專案組持久層用的是 mybatis 3 v 3.0.4 很多頁面涉及到批量刪除,查閱了一下mybatis 官方文件,文當中提到需要在mybatis 的實體配置檔案中配置乙個元素,就是該元素。下面給出文件中關於該元素的介紹 另外乙個動態sql通用的必要操作是迭代乙個集合,...