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>

猜你喜欢

转载自blog.csdn.net/wsjzzcbq/article/details/81779588