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中获取,即可以完成一对多批量更新

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Spring boot中使用Spring-data-jpa方便快捷的访问数据库(推荐)

    Spring boot中使用Spring-data-jpa方便快捷的访问数据库(推荐)

    Spring Data JPA 是 Spring 基于 ORM 框架、JPA 规范的基础上封装的一套JPA应用框架,可使开发者用极简的代码即可实现对数据的访问和操作。这篇文章主要介绍了Spring-boot中使用Spring-data-jpa方便快捷的访问数据库,需要的朋友可以参考下
    2018-05-05
  • IDEA2020.1同步系统设置到GitHub的方法

    IDEA2020.1同步系统设置到GitHub的方法

    这篇文章主要介绍了IDEA2020.1同步系统设置到GitHub的方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • 整理总结Java多线程程序编写的要点

    整理总结Java多线程程序编写的要点

    这篇文章主要介绍了Java多线程程序编写的要点,包括线程的状态控制和优先级以及线程的通信问题等方面,非常之全面!需要的朋友可以参考下
    2016-01-01
  • Springboot内嵌SQLite配置使用详解

    Springboot内嵌SQLite配置使用详解

    这篇文章主要介绍了Springboot内嵌SQLite配置使用详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • 精通Java List 按字段提取对象

    精通Java List 按字段提取对象

    这篇文章主要介绍了精通Java List 按字段提取对象的相关资料,需要的朋友可以参考下
    2023-11-11
  • MybatisPlus字段自动填充失效,填充值为null的解决方案

    MybatisPlus字段自动填充失效,填充值为null的解决方案

    这篇文章主要介绍了MybatisPlus字段自动填充失效,填充值为null的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Java中ArrayList的使用详细介绍

    Java中ArrayList的使用详细介绍

    这篇文章主要介绍了Java中ArrayList的使用,本文给大家详细讲述该相关的知识点,并且会通过大量的案例加以说明,需要的朋友可以参考一下
    2022-04-04
  • spring cloud 阿波罗 apollo 本地开发环境搭建过程

    spring cloud 阿波罗 apollo 本地开发环境搭建过程

    Apollo(阿波罗)是携程框架部门研发的配置管理平台,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性
    2018-01-01
  • 详解springboot+atomikos+druid 数据库连接失效分析

    详解springboot+atomikos+druid 数据库连接失效分析

    本文主要介绍了springboot+atomikos+druid 数据库连接失效分析,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • 解决使用mybatis取值,字段赋值错误的问题

    解决使用mybatis取值,字段赋值错误的问题

    这篇文章主要介绍了解决使用mybatis取值,字段赋值错误的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01

最新评论