第一種,直接傳遞給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通用的必要操作是迭代乙個集合,...