MyBatis一次执行多条SQL语句
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>
以上是关于MyBatis一次执行多条SQL语句的主要内容,如果未能解决你的问题,请参考以下文章
mysql+mybatis 在mybatis一个标签中,执行多条sql语句
[mybatis] sql语句无错误,但是执行多条sql语句时,抛出java.sql.SQLSyntaxErrorException