项目场景:

java使用ibatis作为持久层框架时如何一次性插入多条数据


问题描述

正常插入一条数据的代码是这样的

mapper.insert(model)

问题分析:

这样单条插入是没有问题,问题是遇到多条要连续插入数据的时候循环执行会占用很长的处理时间,要不停的和db连接断开。


解决方案:

首先在mapper中继承InsertListMapper,例如

import tk.mybatis.mapper.additional.insert.InsertListMapper;public interface CardBookMapper extends Mapper<CardBook>, InsertListMapper<CardBook> {/*** 查询数据* @param paramMap* @return*/List<CardBook> selectCardBookListByParam(@Param("paramMap") HashMap paramMap);
}

这样在使用mapper时就可以直接插入列表数据了

mapper.insertList(modelList)

当然还有另一种方式 ,就是将list数据传入的mybatis后,直接使用xml循环写法将数据插入

<insert id="addcardbook" parameterType="java.util.Arraylist">
    insert into cardbook(id,name,state,remark) values
        <foreach collection="list" item="obj" index="index" separator=",">
                  (#{obj.id},#{obj.name},#{obj.state},#{obj.remark})
        </foreach>
 </insert>

这种方式必须保证传入的参数类型要和db数据类型匹配。

java使用mybatis一次性插入多条数据相关推荐

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

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

  2. 公司新来个同事,MyBatis批量插入10w条数据仅用2秒,拍案叫绝!

    批量插入功能是我们日常工作中比较常见的业务功能之一,今天咱们来一个 MyBatis 批量插入的汇总篇,同时对 3 种实现方法做一个性能测试,以及相应的原理分析. 先来简单说一下 3 种批量插入功能分别 ...

  3. mybatis insert 插入多条数据

    普通sql中insert插入多条 insert into 表名(字段名1,字段名2)values(值a1,值b1), (值a2,值b2), 例如: insert into user_info (use ...

  4. Mybatis+Oracle插入万条数据

    最近工作中使用到批量删除,试了试网上的几种方法,下面三种方法都是插入2万条数据 使用oracle的insert all 特别注意:mysql默认接受sql的大小是1048576(1M),若数据量超过1 ...

  5. 使用mybatis一次性添加多条数据 在oracle 数据库上

    1.sql 语句 #sql 语句 insert into STD_XXXX (表名) (ID,NAME,CLASSNAME ) select STD_XXX_SEQUENCE.Nextval,(自增序 ...

  6. 一次性插入上万条数据的写法

    1. /// <summary> /// DataTable批量添加(有事务) /// </summary> /// <param name="Table&qu ...

  7. mysql 十万条 输出_MySQL一次性插入十万条数据

    在写sql语句的时候,总是报错,原来是''单引号没有加 拼接语句的后半部分,之前仅仅是简单的""双引号拼接,报一些莫名其妙的错误,一直说sql语句有问题,但是看不出来,原来是''单 ...

  8. mysql 存储过程查询优化_mysql用存储过程插入百万条数据, 及查询优化

    查看所有存储过程: show procedure status; 查看详细存储过程 ptest: show create procedure ptest; 存储过程插入数据: create table ...

  9. mybatis一次 行插入十万条数据优化问题;

    废话不多说直接上代码:mapper文件中: <insert id="saveList" parameterType="hashmap" >      ...

最新文章

  1. Microsoft Dynamics CRM 2013 试用之系统篇 Windows Server 2012 R2安装
  2. 通过xrdp实现远程桌面连接Windows Azure linux虚拟机
  3. DULG uboot解决问题的文档
  4. Java基础知识强化54:经典排序之插入排序(InsertSort)
  5. android实现Materia Design风格APP(一):开篇
  6. 决策控制方法:sequential 规划、behavior-aware规划、端到端规划
  7. 代码检测vc2013环境是否已经安装了
  8. plsqldev12 工具栏图标设置
  9. md文件转换为pdf文件(带目录和不带目录简捷操作)
  10. 微信朋友验证消息是什么来源_微信开启朋友验证什么意思
  11. Win10麦克风显示这个设备正常但是没声音怎么解决
  12. 计算机网络base,计算机网络中的术语100Base-TX/FX指的是什么?
  13. c语言QQ管理系统四百条,C语言程序设计论文-工会成员信息管理系统.doc
  14. Python百练成钢002-计算自幂数
  15. LUT查找表实现多路复选器原理精讲
  16. GNS3 安装图解 简单易学 多操作几遍就能记住
  17. rust最美建筑_白领美丽英文诵典365 -Day 257 If I Rest I Rust
  18. Curator 框架与 Zookeeer 版本 适配
  19. 一家之言——智慧城市“十三五”建设着眼点
  20. Java ZIP压缩输入输出流

热门文章

  1. 雅思成绩单上的这个符号, CEFR 究竟是什么意思
  2. 计算雅思成绩C语言,雅思成绩计算器分析
  3. 扫描二维码实现后台管理系统登录
  4. 基于android的门禁系统代码,基于ESP8266 base on esp8266门禁系统 安卓源码
  5. SEO优化:自建站图片优化攻略
  6. 矩阵论笔记(一) - 线性空间、线性子空间、矩阵的值域和核空间
  7. linux监听耳机按键,Android 中如何监听耳机键消息
  8. docker创建容器
  9. AV/EDR 免杀逃避技术汇总
  10. Python 从 Excel 读取链接下载文件