zoukankan      html  css  js  c++  java
  • 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);
    }

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    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;
    }

    }

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    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>
    ---------------------
    作者:悟世君子
    来源:CSDN
    原文:https://blog.csdn.net/wsjzzcbq/article/details/81779588
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    A working example of bad SQL statement causes too much CPU usage
    Notes on <<Refactoring Databases Evolutionary Database Design>>
    DBMS_SQL & ORA01000: Too many open cursors
    TTS, not used for schema exp/imp
    Notes on <High Performance MySQL> Ch6: Optimizing Server Settings
    Notes on <High Performance MySQL> Ch3: Schema Optimization and Indexing
    A bug of "sql*loader"?
    11.2.0.2 improves the support for MERGE statement
    Use "OR" in SQL with caution
    关于NORFLASH和NANDfLASH的区别。——Arvin
  • 原文地址:https://www.cnblogs.com/telwanggs/p/11076040.html
Copyright © 2011-2022 走看看