使用Mybatis如何實現刪除多個數據
Mybatis刪除多個數據
例如:
刪除數據庫中sid=1和sid=2的數據
操作步驟如下
1.在實體類中創(chuàng)建一個LIst用于存放要刪除的sid
2.配置Mapper.xml如下:
collection裝要遍歷的字段,item裝獲取到的變量,separator裝多值之間分割的字段
如果SQL刪除語句為:
DELETE FROM animal WHERE a_sid IN(1,2)
用foreach標簽中的open="" close="",分別表示以什么開始和以什么結束
3.接口文件中配置執(zhí)行語句
public int delMor(Animal animal);
4.配置Test相關語句測試:
Mybatis批量刪除多表數據
業(yè)務需求
需要一鍵清除數據,將庫中以“obj_”前綴開頭的表數據全部清除。
查詢以obj_前綴開頭的表的截斷語句
mapper接口方法:
/** * 查詢所有obj開頭的表的數據刪除sql */ List<String> selectAllObjTableRemoveSql();
xml:
<select id="selectAllObjTableRemoveSql" resultType="java.lang.String"> SELECT CONCAT( 'truncate table ', TABLE_NAME, ';' ) FROM information_schema.TABLES WHERE table_schema = 'sc-gateway' AND TABLE_NAME LIKE 'obj_%'; </select>
其中的“obj_”就是需要匹配的表名稱字符
查詢的結果是一個List<String>,其中的每項就是一張表的截斷語句
后續(xù)只要將每個語句執(zhí)行一遍就可以了
直接將整個String傳過去執(zhí)行
<delete id="removeDataBySql" parameterType="String"> ${value} </delete>
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
詳解Java中Dijkstra(迪杰斯特拉)算法的圖解與實現
Dijkstra(迪杰斯特拉)算法是典型的單源最短路徑算法,用于計算一個節(jié)點到其他所有節(jié)點的最短路徑。本文將詳解該算法的圖解與實現,需要的可以參考一下2022-05-05Feign遠程調用傳遞對象參數并返回自定義分頁數據的過程解析
這篇文章主要介紹了Feign遠程調用傳遞對象參數并返回自定義分頁數據的過程解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03基于selenium-java封裝chrome、firefox、phantomjs實現爬蟲
這篇文章主要介紹了基于selenium-java封裝chrome、firefox、phantomjs實現爬蟲,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2020-10-10網關Spring Cloud Gateway HTTP超時配置問題
這篇文章主要介紹了網關Spring Cloud Gateway HTTP超時配置問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01Java File類 mkdir 不能創(chuàng)建多層目錄的解決
這篇文章主要介紹了Java File類 mkdir 不能創(chuàng)建多層目錄的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09