mybatis一对多方式实现批量插入
更新时间:2023年11月04日 08:40:37 作者:何锦康
这篇文章主要介绍了mybatis一对多方式实现批量插入,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
mybatis一对多方式批量插入
需求
public class Order {
private String orderId;
private List<OrderGoods> orderGoods;
}
public class OrderGoods {
private String goodsId;
private String goodsName;
private float goodsPrice;
private int quantity;
}
如实体类所示
一个订单编号对应多条商品信息,向数据库新增订单的时候,需要记录每个订单有哪些商品,就有一个订单-商品信息关系表,那么当生成订单的额时候,也需要记录订单-商品信息关系表,
如图所示

这里的订单id是重复的,每个订单里面的商品信息是一个集合,那么订单-商品信息关系表怎么实现批量插入呢?
实现
<insert id="createOrderGoods" parameterType="Order">
insert into order_goods values
<foreach collection='orderGoods'
item = 'goods'
separator=","
>
(#{orderId},#{goods.goodsId},#{goods.goodsName},#{goods.goodsPrice},#{goods.quantity})
</foreach>
</insert>
这里将需要循环的集合设置为Order类里面的商品集合属性名也就是orderGoods,在循环的时候第一个订单编号从parameterType传进来的Order里面获取,后面的商品信息从每一个item中获取,即可以完成一对多批量更新
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Springboot开发之利用Docker和Kubernetes部署微服务
这篇文章主要介绍了如何将Spring Boot开发的微服务通过Docker容器化,并使用Kubernetes进行部署和管理,帮助读者掌握现代云原生应用的完整开发部署流程,有需要的可以了解下2025-03-03
探究springboot中的TomcatMetricsBinder
springboot的TomcatMetricsBinder主要是接收ApplicationStartedEvent然后创建TomcatMetrics执行bindTo进行注册,TomcatMetrics主要注册了globalRequest、servlet、cache、threadPool、session相关的指标,本文给大家介绍的非常详细,需要的朋友参考下吧2023-11-11
IntelliJ IDEA创建maven多模块项目(图文教程)
这篇文章主要介绍了IntelliJ IDEA创建maven多模块项目(图文教程),非常具有实用价值,需要的朋友可以参考下2017-09-09


最新评论