zoukankan      html  css  js  c++  java
  • MyBatis中批量insert

    在orcale和mybatis执行批量插入是不一样的。

    orcale如下:(这里要注意的是:useGeneratedKeys="false" )

    方式1:oracle批量插入使用 insert all into table(...) values(...) into table(...) values(...) select  1  from dual; 

    <insert id="insertListBatch" parameterType="java.util.List" useGeneratedKeys="false">
            INSERT ALL
            <foreach item="item" index="index" collection="list">
            INTO student
            (
                ID,
                name,
                age,
                sex,
                CREATE_TIME
            ) VALUES
            (
                #{item.id, jdbcType=NUMERIC},
                #{item.name, jdbcType=VARCHAR},
                #{item.age, jdbcType=VARCHAR},
                #{item.sex, jdbcType=VARCHAR},
                #{item.createdTime, jdbcType=NUMERIC} 
            )
            </foreach>
            SELECT 1 FROM DUAL
        </insert>

    方式2: insert into table(...) (select ... from dual) union all (select ... from dual)

    <insert id="insertListBatch" parameterType="java.util.List" useGeneratedKeys="false">
            INSERT INTO T_APPLAUD
            (
                ID,
                name,
                age,
                sex,
                CREATE_TIME
            )
            <foreach item="item" index="index" collection="list" separator="union all">
            (
                SELECT 
                    #{item.id},
                    #{item.name},
                    #{item.age},
                    #{item.sex},
                    #{item.createdTime} 
                FROM DUAL
            )
            </foreach>
        </insert>

    mysq如下:

    <insert id="insertListBatch" >
        insert into student ( id,name,age,sex,createdTime )
      values
        <foreach collection="list" item="item" index="index" separator=",">
          (
    null,#{item.name},#{item.age},#{item.sex},#{item.createdTime}
        </foreach> 
    </insert>
  • 相关阅读:
    对于“口袋精灵”单元测试
    12-17:项目进度
    12-15:项目进度
    12-14:项目进度
    12-13:项目进度
    12-12:项目进度
    12-11:项目进度
    12-10:项目进度
    12-9:项目进度
    12-6:项目进度
  • 原文地址:https://www.cnblogs.com/lxl-six/p/11769770.html
Copyright © 2011-2022 走看看