有个常见的场景:删除用户的时候需要先删除用户的外键关联数据,否则会触发规则报错。
MySql默认是不支持这种骚操作的,但是并不代表不能实现,只需要在jdbc的配置文件中稍做配置:
解决办法不外乎有三个:1、多条sql分批执行;2、存储过程或函数调用;3、sql批量执行。
今天我要说的是MyBatis中如何一次执行多条语句(使用mysql数据库)。
1、修改数据库连接参数加上allowMultiQueries=true,如:
driver=com.mysql.jdbc.Driver url=jdbc:mysql://127.0.0.1:3306/airipo?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true username=root password=1234
其中,allowMultiQueries=true这个配置是关键,必须写
2、然后在映射文件中的标签下将多条sql用;隔开即可,示例代码:
<delte id="deleteUserById" parameterType="String"> delete from sec_user_role where userId=#{id}; delete from sec_user where id=#{id}; </delete>
仅此而已
© 著作权归作者所有
文章评论(1)
mysql需要配置什么?