Mybatis批量删除多表

20 篇文章 0 订阅

Mybatis要批量删除多表的数据,怎么办 ?今天又同事问到了

一:Mybatis里面处理

<!-- 删除多个表的信息  -->
<delete id="deleteByFrameId" statementType="STATEMENT">
	<foreach collection="tableList" item="tableName" index="index" >
		delete from ${tableName} where gov_frame_id = ${ govFrameId} ;
	</foreach>
</delete>

说明:tableList 是参数,govFrameId也是参数

           记得使用 $ 关键字,不要使用 # 关键字

二:java内传参

//1.0 删除历史已经存储,但是有可能发生了异常的数据
Map<String, Object> params = Maps.newHashMap();
String[] tableList = {"gov_price_desc", "gov_price_category", "gov_price_category_detail"};
params.put("tableList", tableList);
params.put("govFrameId", govHandlerStep2VO.getGovPriceFrame().getId());
govPriceDescMapper.deleteByFrameId(params);

说明:数组 和 List都可以

三:数据库连接加上 允许批量更新

jdbc:mysql://192.168.3.3:3316/dev_db?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true

一定要加上,否则执行不了:&allowMultiQueries=true

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值