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
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/160828.html