mybatis一對多方式實現(xiàn)批量插入
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;
}
如實體類所示
一個訂單編號對應多條商品信息,向數(shù)據(jù)庫新增訂單的時候,需要記錄每個訂單有哪些商品,就有一個訂單-商品信息關系表,那么當生成訂單的額時候,也需要記錄訂單-商品信息關系表,
如圖所示

這里的訂單id是重復的,每個訂單里面的商品信息是一個集合,那么訂單-商品信息關系表怎么實現(xiàn)批量插入呢?
實現(xiàn)
<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>
這里將需要循環(huán)的集合設置為Order類里面的商品集合屬性名也就是orderGoods,在循環(huán)的時候第一個訂單編號從parameterType傳進來的Order里面獲取,后面的商品信息從每一個item中獲取,即可以完成一對多批量更新
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Springboot開發(fā)之利用Docker和Kubernetes部署微服務
這篇文章主要介紹了如何將Spring Boot開發(fā)的微服務通過Docker容器化,并使用Kubernetes進行部署和管理,幫助讀者掌握現(xiàn)代云原生應用的完整開發(fā)部署流程,有需要的可以了解下2025-03-03
Java之Spring AOP 實現(xiàn)用戶權限驗證
本篇文章主要介紹了Java之Spring AOP 實現(xiàn)用戶權限驗證,用戶登錄、權限管理這些是必不可少的業(yè)務邏輯,具有一定的參考價值,有興趣的可以了解一下。2017-02-02
探究springboot中的TomcatMetricsBinder
springboot的TomcatMetricsBinder主要是接收ApplicationStartedEvent然后創(chuàng)建TomcatMetrics執(zhí)行bindTo進行注冊,TomcatMetrics主要注冊了globalRequest、servlet、cache、threadPool、session相關的指標,本文給大家介紹的非常詳細,需要的朋友參考下吧2023-11-11
IntelliJ IDEA創(chuàng)建maven多模塊項目(圖文教程)
這篇文章主要介紹了IntelliJ IDEA創(chuàng)建maven多模塊項目(圖文教程),非常具有實用價值,需要的朋友可以參考下2017-09-09
詳解SpringBoot實現(xiàn)事件同步與異步監(jiān)聽
這篇文章主要通過示例為大家詳細介紹了SpringBoot中的事件的用法和原理以及如何實現(xiàn)事件同步與異步監(jiān)聽,快跟隨小編一起學習學習吧2022-06-06

