Mybatis的批量插入的正确姿势
背景:电商项目的订单管理模块实现创建订单业务逻辑时,一个订单对应Order对应多个订单子明细OrderItem,创建订单成功需要对orderItem子明细表进行批量插入,OrderItemMapper如下:
void batchInsert(@Param("orderItemList") List<OrderItem> orderItemList);
对应的OrderItemMapper.xml如下,collection对应的是传入的对象orderItemList,注意这里的foreach标签里并没有open和close,如果添加open=“(” colse=")"结果会报错,正确的是直接将括号放在下面,如下所示:
<!--批量插入--><insert id="batchInsert" parameterType="list">insert into tb_order_item(id,order_no,user_id,product_id,product_name,product_image,unit_price,total_price,quantity,create_time,update_time)values<foreach collection="orderItemList" index="index" item="item" separator=",">(#{item.id},#{item.orderNo},#{item.userId},#{item.productId},#{item.productName},#{item.productImage},#{item.unitPrice},#{item.totalPrice},#{item.quantity},now(),now())</foreach></insert>
Mybatis的批量插入的正确姿势相关推荐
- mysql基础----mybatis的批量插入(一)
这里面记录一下使用mybatis处理mysql的批量插入的问题,测试有可能不准.只愿世间风景千般万般熙攘过后,字里行间,人我两忘,相对无言. mybatis的批量插入 我们的测试主体类是springb ...
- java应用程序接口批量访问_spring中使用mybatis实现批量插入的示例代码
有3种实现方式:foreach,spring事务,以及ExecutorType.BATCH. 1. foreach方式 这种方式实际是对SQL语句进行拼接,生成一个长长的SQL,对很多变量进行绑定.如 ...
- mybatis+oracle批量插入报不符合协议和sql未正确结束
在Java中循环save,需要加useGeneratedKeys="false",否则报错不符合协议 mybatis批量插入,也需要在insert里加入 useGeneratedK ...
- Mybatis foreach 批量插入
在mybatis中可以使用foreach标签做批量插入和更新操作,以批量插入为例: <insert id="insertMsg" parameterType="xz ...
- oracle批量插入报错,MyBatis Oracle批量插入数据
导语:在开发中或多或少都会遇到数据批量插入的功能,最近我在做项目的过程中就遇到了这样一个问题.上传Excel文件,解析文件内容并将解析的内容插入数据库. 思路分析 1.解析Excel文件 Excel文 ...
- springmvc+mybatis+ajax 批量插入数据
2019独角兽企业重金招聘Python工程师标准>>> 批量插入.AJAX发起请求,核心代码如下: var mids = new Array(); for (var i=0; i&l ...
- Java通过Mybatis实现批量插入数据到Oracle中
最近项目中遇到一个问题:导入数据到后台并将数据插入到数据库中,导入的数据量有上万条数据,考虑采用批量插入数据的方式: 结合网上资料,写了个小demo,文章末尾附上demo下载地址 1.新建项目:项目目 ...
- Mybatis的批量插入数据库的两种方法及代码自动生成工具的使用方法
文章目录 常规批量插入.(通过foreach,生成很长的SQL) ExecutorType.BATCH方式执行批量操作 在这里简单介绍一下,自动生成工具的使用方法 常规批量插入.(通过foreach, ...
- tk.mybatis的批量插入扩展
当前的tkmybatis插件,默认的批量插入功能,是需要自动生成主键的(tk.mybatis.mapper.common.special.InsertListMapper),不能通过调用者自己指派主键 ...
最新文章
- [SOJ1039]Phone Home(深搜,染色问题)
- 在python下实现ssh出现错误:ModuleNotFoundError: No module named ‘cryptography‘
- lt;xliff:ggt;标签
- 关于C#数据类型的一点认识
- html5 indexeddb 排序,HTML5 IndexedDB,Web SQL数据库和浏览器大战
- postfix 部署ssl后还是25_宝塔面板的邮局管理器Postfix无法启动解决办法
- Javaweb练手项目
- chmod命令使用详解
- 如何将秘钥分发到多台机器
- pycharm 快捷键设置为eclipse一样
- JAVA经典集合框架学习笔记——HashMap的底层实现原理
- 【2019银川网络赛:L】Continuous Intervals(线段树区间处理+单调栈+思维)
- oracle查询分区表分区,查询分区表(查看oracle分区表)
- Celery+django+redis异步执行任务
- Openstack 组件Placement部署思路过程
- TP-LINK无线路由器配置解读
- bit Byte bps Bps
- DOXYGEN简明实用教程
- 非法终端接入管控的三部曲:控、查、导
- QT+OSG/osgEarth编译之三十八:Snappy+Qt编译(一套代码、一套框架,跨平台编译,版本:Snappy-1.1.9)