溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Mybatis如何實現(xiàn)刪除多個數(shù)據(jù)

發(fā)布時間:2022-03-11 12:42:11 來源:億速云 閱讀:559 作者:小新 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細講解有關(guān)如何使用Mybatis如何實現(xiàn)刪除多個數(shù)據(jù),小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

Mybatis刪除多個數(shù)據(jù)

例如:刪除數(shù)據(jù)庫中sid=1和sid=2的數(shù)據(jù)

如何使用Mybatis如何實現(xiàn)刪除多個數(shù)據(jù)

操作步驟如下

1.在實體類中創(chuàng)建一個LIst用于存放要刪除的sid

如何使用Mybatis如何實現(xiàn)刪除多個數(shù)據(jù)

2.配置Mapper.xml如下:

如何使用Mybatis如何實現(xiàn)刪除多個數(shù)據(jù)

collection裝要遍歷的字段,item裝獲取到的變量,separator裝多值之間分割的字段

如果SQL刪除語句為:

DELETE FROM animal WHERE a_sid IN(1,2)

用foreach標簽中的open="" close="",分別表示以什么開始和以什么結(jié)束

3.接口文件中配置執(zhí)行語句

public int delMor(Animal animal);

4.配置Test相關(guān)語句測試:

如何使用Mybatis如何實現(xiàn)刪除多個數(shù)據(jù)

Mybatis批量刪除多表數(shù)據(jù)

業(yè)務需求

需要一鍵清除數(shù)據(jù),將庫中以“obj_”前綴開頭的表數(shù)據(jù)全部清除。

查詢以obj_前綴開頭的表的截斷語句

mapper接口方法:

     /**
     * 查詢所有obj開頭的表的數(shù)據(jù)刪除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_”就是需要匹配的表名稱字符

查詢的結(jié)果是一個List<String>,其中的每項就是一張表的截斷語句

如何使用Mybatis如何實現(xiàn)刪除多個數(shù)據(jù)

后續(xù)只要將每個語句執(zhí)行一遍就可以了

直接將整個String傳過去執(zhí)行

<delete id="removeDataBySql" parameterType="String">
   ${value}
</delete>

關(guān)于“如何使用Mybatis如何實現(xiàn)刪除多個數(shù)據(jù)”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI