批量插入的语法是这样的,只要在values 后面增加插入的值就可以了。

insert into tbl_emp (emp_id, emp_name, gender,email, d_id) values ( ?,?,?,?,? ) , ( ?,?,?,?,? ) , ( ?,?,?,?,? ) , ( ?,?,?,?,? ) ,
( ?,?,?,?,? ) , ( ?,?,?,?,? ) , ( ?,?,?,?,? ) , ( ?,?,?,?,? ) , ( ?,?,?,?,? ) , ( ?,?,?,?,? )

在Mapper 文件里面,我们使用foreach 标签拼接values 部分的语句:

<!-- 批量插入-->
<insert id="batchInsert" parameterType="java.util.List" useGeneratedKeys="true"><selectKey resultType="long" keyProperty="id" order="AFTER">SELECT LAST_INSERT_ID()</selectKey>insert into tbl_emp (emp_id, emp_name, gender,email, d_id)values<foreach collection="list" item="emps" index="index" separator=",">( #{emps.empId},#{emps.empName},#{emps.gender},#{emps.email},#{emps.dId} )</foreach>
</insert>

Java 代码里面,直接传入一个List 类型的参数。

我们来测试一下。效率要比循环发送SQL 执行要高得多。最关键的地方就在于减少了跟数据库交互的次数,并且避免了开启和结束事务的时间消耗。

mybatis-批量插入相关推荐

  1. 批量插入数据库语句java_java相关:MyBatis批量插入数据到Oracle数据库中的两种方式(实例代码)...

    java相关:MyBatis批量插入数据到Oracle数据库中的两种方式(实例代码) 发布于 2020-7-22| 复制链接 本文通过实例代码给大家分享了MyBatis批量插入数据到Oracle数据库 ...

  2. mybatis批量插入(insert)和批量更新(update)

    文章目录 一.Mybatis批量插入 二.批量更新 前言:这两天在做mybatis批量插入和更新的时候,对这块不是很清楚,所以今天写篇文章,巩固加深印象. 一.Mybatis批量插入 批量插入的sql ...

  3. oracle批量插入报错,[数据库]Mybatis 批量插入数据 关于Oracle 批量插入报错:ORA

    [数据库]Mybatis 批量插入数据 关于Oracle 批量插入报错:ORA 0 2020-08-19 08:00:06 Mybatis 批量插入数据 关于Oracle 批量插入报错:ORA-009 ...

  4. 【SpringBoot项目中使用Mybatis批量插入百万条数据】

    SpringBoot项目中使用Mybatis批量插入百万条数据 话不多说,直接上代码,测试原生批处理的效率 开始测试 背景:因为一些业务问题,需要做多数据源,多库批量查询.插入操作,所以就研究了一下. ...

  5. MyBatis批量插入(sqlserver BULK INSERT)

    MyBatis批量插入: 1. foreach方式 2.sqlsession + sqlsession.flushStatements方式: //        SqlSession sqlSessi ...

  6. MyBatis - 批量插入

    由于MyBatis的本质是对JDBC的封装,所以从JDBC的原生来看此问题~ 一.原生JDBC插入两种方式 conn.setAutoCommit(false); //设置手动提交 //预编译sql对象 ...

  7. Mybatis 批量插入报ORA-00933: SQL 命令未正确结束

    Mybatis 批量插入报ORA-00933: SQL 命令未正确结束 错误出现的场景是这样的,将多个月份的1000条数据分别插入到各月份表中. MySQL中,批量插入数据到表,会在一定程度提高效率. ...

  8. 解决Oracle+Mybatis批量插入报错:SQL 命令未正确结束

    Mybatis批量插入需要foreach元素.foreach元素有以下主要属性: (1)item:集合中每一个元素进行迭代时的别名. (2)index:指定一个名字,用于表示在迭代过程中,每次迭代到的 ...

  9. MyBatis 批量插入数据的 3 种方法

    批量插入功能是我们日常工作中比较常见的业务功能之一,之前我也写过一篇关于<MyBatis Plus 批量数据插入功能,yyds!>的文章,但评论区的反馈不是很好,主要有两个问题:第一,对 ...

  10. Mybatis 批量插入事物问题

    一.首先对于批量数据的插入有两种解决方案(下面内容只讨论和Mysql交互的情况) 1)for循环调用Dao中的单条插入方法 2)传一个List<Object>参数,使用Mybatis的批量 ...

最新文章

  1. 六一:如何在Datawhale开源学习小程序中管
  2. 程序员编程时戴耳机是在听什么?
  3. java服务端开发 php_PHP使用thrift做服务端开发
  4. 体系文件管理解决方案
  5. nyist -- 组队赛(一)
  6. linux mmap 内存映射
  7. python逻辑运算符的使用_总结Python中逻辑运算符的使用
  8. 「mysql优化专题」90%程序员面试都用得上的索引优化手册(5)
  9. java 暂停_面试官问我:平常如何对你的Java程序进行调优?
  10. JavaScript —— Symbol数据类型的拓展
  11. grib1文件解析 python_python安装读取grib库总结(推荐)
  12. WINDOWS游戏编程学习笔记(一):Hello Game!
  13. 读书笔记《松本行弘的程序世界》
  14. 会议OA之我的审批(查询签字)
  15. App Store与苹果签名
  16. 计算机学院的迎新晚会,计算机学院举办“互联青春,拾梦翱翔”迎新晚会
  17. NetKeeper(创翼)开WIFI方法——2018.5
  18. spring Boot Configuration Annotation Processor not fount in classpath
  19. EWM一个仓库号对应ERP多个PLANT的配置
  20. Redis(10)哨兵

热门文章

  1. Flex itemRenderer 内联渲染器
  2. 【PL/SQL】学习笔记 (9)例外之 no_data_found
  3. nginx重新编译添加ssl模块
  4. 文件系统之-JAVA Sftp远程操作:
  5. HDU 1042 N!
  6. parameter乱码提交的问题
  7. 【.Net基础02】XML序列化问题
  8. 排序算法模板(C语言版)
  9. 大话设计模式—责任链模式
  10. 迎合人工智能时代 码教授开设Python课程