zoukankan      html  css  js  c++  java
  • mybatis批量插入

    第四章 mybatis批量insert
    批量插入sql语句:
    
    INSERT INTO table (field1,field2,field3) VALUES ('a',"b","c"), ('a',"b","c"),('a',"b","c")
    
    mybatis通过foreach循环拼装了如上的sql语句。
    
    一、xml
    
    复制代码
     1 <?xml version="1.0" encoding="UTF-8" ?>
     2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
     3 <mapper
     4     namespace="com.xxx.mapper.XXXRecordMapper">
     5     <resultMap id="BaseResultMap" type="com.xxx.model.XXXRecord">
     6         <id column="AutoId" property="autoid" jdbcType="BIGINT" />
     7         <result column="UserId" property="userid" jdbcType="BIGINT" />
     8         <result column="NoticedTime" property="noticedtime" jdbcType="TIMESTAMP" />
     9     </resultMap>
    10     <sql id="Base_Column_List">
    11         AutoId, UserId, NoticedTime
    12     </sql>
    13     <!-- myself:批量插入 -->
    14     <insert id="insertBatch" parameterType="java.util.List">
    15         insert into T_XXXRecord (AutoId, UserId, NoticedTime) values
    16         <foreach collection="list" item="item" index="index" separator=",">
    17             (#{item.autoid,jdbcType=BIGINT},
    18              #{item.userid,jdbcType=BIGINT},
    19              #{item.noticedtime,jdbcType=TIMESTAMP})
    20         </foreach>
    21     </insert>
    22 </mapper>
    复制代码
    说明:
    
    mysql批量插入的限制是一次批量:1M
    我这里插入的List,如上就好,如果是其他结构,查看这篇博客:http://www.cnblogs.com/admol/articles/4248159.html
    collection属性:
    1.如果传入的是单参数且参数类型是一个List的时候,collection属性值为list
    
    2.如果传入的是单参数且参数类型是一个array数组的时候,collection的属性值为array
    
    3.如果传入的参数是多个的时候,我们就需要把它们封装成一个Map了,当然单参数也可以封装成map
    
    分类: Mybatis相关
    

      

  • 相关阅读:
    QTabWidget改变tabBar位置 并改变文字方向
    QScrollArea-QWidget 添加滚动条
    QPushbutton
    QFileDialog
    MFC RadioButton分组用法
    MFC 调用模态对话框和非模态对话框
    3D Active Button Magic 使用备忘
    unhandledRejection 处理方法
    .Net Core和DevOps系列:Jenkins安装(Docker)
    .Net Core和DevOps系列:Gitea安装(Docker)
  • 原文地址:https://www.cnblogs.com/leigepython/p/10153773.html
Copyright © 2011-2022 走看看