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 from sec_user_role where userId=#{id};

delete from sec_user where id=#{id};

仅此而已~

补充知识:【MyBatis】动态SQL——foreach使用 /批量更新或批量插入

1.foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合

2.可以传递一个 List 实例或者数组作为参数对象传给 MyBatis。当你这么做的时候,MyBatis 会自动将它包装在一个 Map 中,用名称作为键。List 实例将会以“list”作为键,而数组实例将会以“array”作为键

3.foreach的collection能够支持的三种集合类型list,array以及map

4.foreach元素的属性

  • 0
    点赞
  • 2
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页
评论

打赏作者

曹逆娘曹

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值