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

    <insert id="batchInsert" parameterType="java.util.List">
            INSERT INTO
            TEST(
            A,
            B,
            C,
            D,
           E
            )
            <foreach collection="list" index="index" item="item" separator="UNION ALL">
                SELECT
                #{item.a, jdbcType=VARCHAR} A,
                #{item.b, jdbcType=VARCHAR} B,
                #{item.c, jdbcType=VARCHAR} C,
                #{item.d, jdbcType=VARCHAR} D,
                #{item.e} E
                FROM dual
            </foreach>
        </insert>

     以上是Oracle数据库中的写法

    二,MySQL数据库中的写法

    <insert id="batchInsert" parameterType="java.util.List">
            INSERT INTO
            TEST(
            A,
            B,
            C,
            D,
           E
            )
            <foreach collection="list" index="index" item="item" separator=",">
                #{item.a, jdbcType=VARCHAR},
                #{item.b, jdbcType=VARCHAR},
                #{item.c, jdbcType=VARCHAR},
                #{item.d, jdbcType=VARCHAR},
                #{item.e}
            </foreach>
        </insert>

    MySQL批量插入并返回所有主键的写法

    <insert id="id" userGeneratedKeys="true" keyProperty="id">

    输出id

    for(User user : list){

      user.getId();

    }

    *** 目前只有MySQL能实现批量插入后返回主键的操作

  • 相关阅读:
    日志记录
    python进程基础
    堆和栈的区别
    Mysql数据类型(一)
    JS超链接动态显示图片
    WPF Button控件模板
    js table鼠标点击时变色
    JS表格各行变色
    js动态创建表格
    Codeforces 659G Fence Divercity dp
  • 原文地址:https://www.cnblogs.com/cailijuan/p/9109242.html
Copyright © 2011-2022 走看看