欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mybatis執(zhí)行多條語句/批量更新方式

 更新時間:2023年03月31日 09:16:02   作者:WINGZINGLIU  
這篇文章主要介紹了Mybatis執(zhí)行多條語句/批量更新方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Mybatis執(zhí)行多條語句/批量更新

Mybatis實現多條語句

通常用在刪除主表信息同時刪除子表信息。

如果利用多次Dao進行執(zhí)行sql,程序就寫起來麻煩并且閱讀難度會提升。

(刪除income表中的信息,同時刪除子表income_detail表中的相關信息)

delete from income_detail where income_id=#{id};?
delete from income where id=#{id};

或者是批量更新,比如利用foreach批量update多條數據。

<update id="update">
? ? <foreach collection="xxList" item="item" index="index" open="" close="" separator=";">
? ? ? update t_xxx
? ? ? <set>
? ? ? ? xxx = #{item.xxx}
? ? ? </set>
? ? ? where id = #{item.id}
? ? </foreach>
</update>

這些語句的類似點在于都是在mybatis中帶有分號的多條sql。

而直接執(zhí)行又會報錯,所以我們需要在jdbc連接中加上allowMultiQueries參數,設置為true。

<property name="url" value="jdbc:mysql://localhost:3306/amoeba?characterEncoding=UTF-8&allowMultiQueries=true"/>
jdbc.url=jdbc:mysql://localhost:3306/amoeba?characterEncoding=UTF-8&allowMultiQueries=true

Mybatis同時執(zhí)行多條語句

有個常見的場景:刪除用戶的時候需要先刪除用戶的外鍵關聯(lián)數據,否則會觸發(fā)規(guī)則報錯。

解決辦法不外乎有三個

  • 1、多條sql分批執(zhí)行
  • 2、存儲過程或函數調用
  • 3、sql批量執(zhí)行

今天我要說的是MyBatis中如何一次執(zhí)行多條語句(使用mysql數據庫)。

1、修改數據庫連接參數加上allowMultiQueries=true,如:

hikariConfig.security.jdbcUrl=jdbc:mysql://xx.xx.xx:3306/xxxxx?characterEncoding=utf-8&autoReconnect=true&failOverReadOnly=false&allowMultiQueries=true

2、直接寫多條語句,用“;”隔開即可

<delete id="deleteUserById" parameterType="String">
? ? delete from sec_user_role where userId=#{id};
? ? delete from sec_user where id=#{id};
</delete>

僅此而已!?。?/p>

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Java8的Lambda表達式你真的會嗎

    Java8的Lambda表達式你真的會嗎

    這篇文章主要介紹了Java8的Lambda表達式你真的會嗎,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Spring?Boot中KafkaListener的介紹、原理和使用方法案例詳解

    Spring?Boot中KafkaListener的介紹、原理和使用方法案例詳解

    本文介紹了Spring Boot中 @KafkaListener 注解的介紹、原理和使用方法,通過本文的介紹,我們希望讀者能夠更好地理解Spring Boot中 @KafkaListener 注解的使用方法,并在項目中更加靈活地應用
    2023-09-09
  • Java異常詳解_動力節(jié)點Java學院整理

    Java異常詳解_動力節(jié)點Java學院整理

    異常是Java語言中的一部分,它代表程序中由各種原因引起的“不正?!币蛩?。下面通過本文給大家介紹java異常的相關知識,感興趣的朋友一起看看吧
    2017-06-06
  • 詳細解讀AbstractStringBuilder類源碼

    詳細解讀AbstractStringBuilder類源碼

    這篇文章主要介紹了詳細解讀AbstractStringBuilder類源碼,具有一定參考價值,需要的朋友可以了解下。
    2017-12-12
  • 基于Spring5實現登錄注冊功能

    基于Spring5實現登錄注冊功能

    這篇文章主要為大家詳細介紹了基于Spring5實現登錄注冊功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • 基于java計算買賣股票的最佳時機

    基于java計算買賣股票的最佳時機

    這篇文章主要介紹了基于java計算買賣股票的最佳時機,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • Java數組的初始化方法詳解

    Java數組的初始化方法詳解

    在Java程序開發(fā)中,數組是一個非常常用的數據類型,數組的初始化是使用數組來存儲和處理數據的關鍵步驟之一,但是,關于Java數組的初始化,經常會讓人感到迷惑,本文將詳細介紹Java數組的初始化方法,幫助讀者從此告別關于Java數組初始化的困惑
    2023-11-11
  • springboot注冊bean的三種方法

    springboot注冊bean的三種方法

    這篇文章主要介紹了springboot注冊bean的三種方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • 如何把JAR發(fā)布到maven中央倉庫的幾種方法

    如何把JAR發(fā)布到maven中央倉庫的幾種方法

    這篇文章主要介紹了如何把JAR發(fā)布到maven中央倉庫的幾種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-05-05
  • springboot如何為web層添加統(tǒng)一請求前綴

    springboot如何為web層添加統(tǒng)一請求前綴

    這篇文章主要介紹了springboot如何為web層添加統(tǒng)一請求前綴,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02

最新評論