Mybatis+Oracle 批量插入多条数据

感觉本文帮到了你?分享一下:

MySQL可以使用以下语法插入

<insert id="insertBatch">
    INSERT INTO t_user
            (id, name, del_flag)
    VALUES
    <foreach collection ="list" item="user" separator =",">
         (#{user.id}, #{user.name}, #{user.delFlag})
    </foreach >
</insert>

但Oracle不支持这样的语法,这样写的话会报错,以下是Oracle的写法

<insert id="insertBatch" >
        INSERT ALL
        <foreach collection ="list" item="user" >
        INTO t_user(id, name, del_flag) VALUES(#{user.id}, #{user.name}, #{user.delFlag})
        </foreach >
        SELECT 1 FROM DUAL
    </insert>

使用的是Oracle的Insert All语法

为你 推荐的内容

关于作者: namezhou

发表评论

邮箱地址不会被公开。 必填项已用*标注