mybatis 批量将list数据插入到数据库的实现

随着业务需要,有时我们需要将数据批量添加到数据库,mybatis提供了将list集合循环添加到数据库的方法。具体实现代码如下:

1、mapper层中创建 insertForeach(List < Fund > list) 方法,返回值是批量添加的数据条数

 package com.center.manager.mapper;
 import java.util.List;
 import org.apache.ibatis.annotations.Mapper;
 import com.center.manager.entity.Fund;
 @Mapper
 public interface FundMapper {

 int insertForeach(List<Fund> list);
 }

Fund类代码如下:

 package com.center.manager.entity;
 import java.util.Date;

 public class Fund {

  private String id;

 private String fundName;  

 private String fundCode;  

 private String dateX;   

 private String dataY;   

  private String remarks; 

 private String createBy; 

 private Date createDate; 

 private String updateBy; 

 private Date updateDate; 

 private String delFlag; 

  public String getId() {
 return id;
 }

 public void setId(String id) {
 this.id = id;
 }

 public String getFundName() {
 return fundName;
 }

 public void setFundName(String fundName) {
 this.fundName = fundName;
 }

 public String getFundCode() {
 return fundCode;
 }

 public void setFundCode(String fundCode) {
 this.fundCode = fundCode;
 }

 public String getDateX() {
 return dateX;
 }

 public void setDateX(String dateX) {
 this.dateX = dateX;
 }

 public String getDataY() {
 return dataY;
 }

 public void setDataY(String dataY) {
 this.dataY = dataY;
 }

  public String getRemarks() {
 return remarks;
 }

 public void setRemarks(String remarks) {
 this.remarks = remarks;
 }

 public String getCreateBy() {
 return createBy;
 }

 public void setCreateBy(String createBy) {
 this.createBy = createBy;
 }

 public Date getCreateDate() {
 return createDate;
 }

 public void setCreateDate(Date createDate) {
 this.createDate = createDate;
 }

 public String getUpdateBy() {
 return updateBy;
 }

 public void setUpdateBy(String updateBy) {
 this.updateBy = updateBy;
 }

 public Date getUpdateDate() {
 return updateDate;
 }

 public void setUpdateDate(Date updateDate) {
 this.updateDate = updateDate;
 }

 public String getDelFlag() {
 return delFlag;
 }

 public void setDelFlag(String delFlag) {
 this.delFlag = delFlag;
 }

 }

2、mybatis的xml文件中的insert语句如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.center.manager.mapper.FundMapper">

 <insert id="insertForeach" parameterType="java.util.List" useGeneratedKeys="false">
  insert into fund
  ( id,fund_name,fund_code,date_x,data_y,create_by,create_date,update_by,update_date,remarks,del_flag)
  values
  <foreach collection="list" item="item" index="index" separator=",">
  (
   #{item.id},
   #{item.fundName},
   #{item.fundCode},
   #{item.dateX},
   #{item.dataY},
   #{item.createBy},
   #{item.createDate},
   #{item.updateBy},
   #{item.updateDate},
   #{item.remarks},
   #{item.delFlag}
  )
   </foreach>
 </insert>
</mapper>

到此这篇关于mybatis 批量将list数据插入到数据库的实现的文章就介绍到这了,更多相关mybatis 批量list插入到数据库内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • MyBatis批量插入数据到Oracle数据库中的两种方式(实例代码)

    一.mybatis批量插入数据到Oracle中的两种方式: 第一种: <insert id="addList" parameterType="java.util.List" useGeneratedKeys="false"> INSERT ALL <foreach item="item" index="index" collection="list"> INTO

  • mybatis 批量将list数据插入到数据库的实现

    随着业务需要,有时我们需要将数据批量添加到数据库,mybatis提供了将list集合循环添加到数据库的方法.具体实现代码如下: 1.mapper层中创建 insertForeach(List < Fund > list) 方法,返回值是批量添加的数据条数 package com.center.manager.mapper; import java.util.List; import org.apache.ibatis.annotations.Mapper; import com.center.

  • Python实现生成随机数据插入mysql数据库的方法

    本文实例讲述了Python实现生成随机数据插入mysql数据库的方法.分享给大家供大家参考,具体如下: 运行结果: 实现代码: import random as r import pymysql first=('张','王','李','赵','金','艾','单','龚','钱','周','吴','郑','孔','曺','严','华','吕','徐','何') middle=('芳','军','建','明','辉','芬','红','丽','功') last=('明','芳','','民','敏

  • php读取txt文件并将数据插入到数据库

    今天测试一个功能,需要往数据库中插入一些原始数据,PM给了一个txt文件,如何快速的将这个txt文件的内容拆分为所要的数组,然后再插入到数据库中? serial_number.txt的示例内容: serial_number.txt: DM00001A11 0116, SN00002A11 0116, AB00003A11 0116, PV00004A11 0116, OC00005A11 0116, IX00006A11 0116, 创建数据表: create table serial_numb

  • Java实现mybatis批量插入数据到Oracle

    最近项目中遇到一个问题:导入数据到后台并将数据插入到数据库中,导入的数据量有上万条数据,考虑采用批量插入数据的方式:  结合网上资料,写了个小demo,文章末尾附上demo下载地址 1.新建项目:项目目录结构如下图所示,添加相应的jar包 2.新建数据库表:ACCOUNT_INFO CREATE TABLE ACCOUNT_INFO ( "ID" NUMBER(12) NOT NULL , "USERNAME" VARCHAR2(64 BYTE) NULL , &q

  • Java使用JDBC或MyBatis框架向Oracle中插入XMLType数据

    先来了解一下什么是XMLType类型. XMLType是Oracle从9i开始特有的数据类型,是一个继承了Blob的强大存在,可以用来存储xml并提供了相当多的操作函数.理论上可以保存2G大小的数据. 那怎么样通过java来插入XMLType类型的数据呢?项目当中采用的是Mybatis,总是出现莫名的异常,都搞不清楚到底是Mybatis的问题还是jdbc本身的问题,所以打算一步步来,先搞定jdbc,再解决Mybatis. JDBC 在折腾了半天之后,发现jdbc操作主要有3种方法: 一.在Jav

  • SpringBoot Mybatis批量插入Oracle数据库数据

    目录 前端数据 数据表结构 后端Controller: mapper xml 前端数据 有如下需求,前端提交一个对象cabinData,保存到数据表中,对象结构如下:  {      "shipId":"424",      "shipName":"大唐2号",      "ballastCabinData":["艏尖舱","双层底1左","双层底1右&qu

  • MyBatis批量插入/修改/删除MySql数据

    前言 由于项目需要生成多条数据,并保存到数据库当中,在程序中封装了一个List集合对象,然后需要把该集合中的实体插入到数据库中,项目使用了Spring+MyBatis,所以打算使用MyBatis批量插入,应该要比循环插入的效果更好,由于之前没用过批量插入,在网上找了一些资料后最终实现了,把详细过程贴出来.供以后查阅和学习. java代码: 注意:这里循环的时候需new 出来新的对象,而不能通过循环改变属性的值就认为这是一个新的对象了,通俗的说就是new ReddemCode()要放在for循环的

  • 详解mybatis批量插入10万条数据的优化过程

    数据库 在使用mybatis插入大量数据的时候,为了提高效率,放弃循环插入,改为批量插入,mapper如下: package com.lcy.service.mapper; import com.lcy.service.pojo.TestVO; import org.apache.ibatis.annotations.Insert; import java.util.List; public interface TestMapper { @Insert("") Integer test

  • 一文了解MyBatis Plus批量数据插入功能

    目录 前言 批量插入实现方案 1.引入 MP 框架 2.创建数据库和表 3.具体代码实现(重点) 总结 前言 最近 Review 小伙伴代码的时候,发现了一个小小的问题,小伙伴竟然在 for 循环中进行了 insert (插入)数据库的操作,这就会导致每次循环时都会进行连接.插入.断开连接的操作,从而导致一定的性能问题,简化后代码如下: /** * 插入操作 */ @RequestMapping("/save") public Object save() { boolean flag

随机推荐