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能实现批量插入后返回主键的操作

  • 相关阅读:
    ES6中的基础语法
    let和const、var
    iframe框架
    ajax
    面试题
    移动端的点击延迟事件
    移动端如何设置字体
    swiper插件以及简介
    第十二章 systemctl管理脚本
    第十一章 awk命令
  • 原文地址:https://www.cnblogs.com/cailijuan/p/9109242.html
Copyright © 2011-2022 走看看