赵计刚
每天进步一点点
随笔 - 234,  文章 - 0,  评论 - 243,  阅读 - 166万

批量插入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

posted on   赵计刚  阅读(49361)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下

< 2025年3月 >
23 24 25 26 27 28 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 1 2 3 4 5
点击右上角即可分享
微信分享提示