mybatis,mapper.xml文件书foreach使用

最近工作中使用mybatis自定义SQL时用到了foreach循环(oracle数据库),但是如下书写不好用:

<insert id="insertBatch" parameterType="java.util.List">
        insert INTO
        user_tb
        (user_id,
        user_name,
        user_age)
        <foreach collection="list" item="item" separator="union all">
            select
            #{item.userId},
            #{item.userName},
            #{item.userAge}
            FROM dual
        </foreach>
    </insert>

经一位同事提醒,需要这么写:

<insert id="insertBatch" parameterType="java.util.List" useGeneratedKeys="false">
        insert INTO
        user_tb
        (user_id,
        user_name,
        user_age)
        <foreach collection="list" item="item" separator="union all">
            select
            #{item.userId},
            #{item.userName},
            #{item.userAge}
            FROM dual
        </foreach>
    </insert>

oracle数据库使用自增主键需要使用序列或者其他方式,不支持自动生成。

猜你喜欢

转载自my.oschina.net/mrfu/blog/1793927