zoukankan      html  css  js  c++  java
  • 第四章 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

  • 相关阅读:
    java.net.BindException: Address already in use: bind
    修改Oracle 10g Express Edition默认的8080端口
    五虎
    easily add files to META-INF in NetBeans
    http://edu.makery.ch/
    JavaFX 2 Dialogs
    JavaFx版本植物大战僵尸
    CSS样式表——布局练习(制作360网页)
    CSS样式表
    CSS样式表——超链接样式
  • 原文地址:https://www.cnblogs.com/java-zhao/p/5594795.html
Copyright © 2011-2022 走看看