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语句的主要内容,如果未能解决你的问题,请参考以下文章

Java-mybatis-一次执行多条SQL语句

mysql+mybatis 在mybatis一个标签中,执行多条sql语句

[mybatis] sql语句无错误,但是执行多条sql语句时,抛出java.sql.SQLSyntaxErrorException

Oracle中怎样一次执行多条sql语句

oracle mybatis一次执行多条sql,提示SQL命令未正确结束

(学)如何在Oracle中一次执行多条sql语句