1. 程式人生 > 其它 >MyBatis一次執行多條SQL語句

MyBatis一次執行多條SQL語句

有個常見的場景:刪除使用者的時候需要先刪除使用者的外來鍵關聯資料,否則會觸發規則報錯。

解決辦法不外乎有三個:1、多條sql分批執行;2、儲存過程或函式呼叫;3、sql批量執行。

今天我要說的是MyBatis中如何一次執行多條語句(使用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>

有個常見的場景:刪除使用者的時候需要先刪除使用者的外來鍵關聯資料,否則會觸發規則報錯。

解決辦法不外乎有三個:1、多條sql分批執行;2、儲存過程或函式呼叫;3、sql批量執行。

今天我要說的是MyBatis中如何一次執行多條語句(使用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>
僅此而已