有個常見的場景:刪除用戶的時候需要先刪除用戶的外鍵關聯數據,否則會觸發規則報錯。
解決辦法不外乎有三個: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>