1. 程式人生 > 程式設計 >mybatis 批量將list資料插入到資料庫的實現

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插入到資料庫內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!