mybatis 批量insert

批量插入的使用场景并不少,采用批量插入可以保证数据一致性,一次提交,提高效率。

下面列出三种主流数据库批量insert 写法

表结构 test(id , name),入参是list集合,包含需要保存的bean或者map

Oracle:

<insert id="save" parameterType="java.util.List">
    insert into test(id,name)
    <foreach collection="list" item="item" index="index" separator="union all">
        (select #{item.id},#{item.name} from dual)
    </foreach>
</insert>

 DB2:

<insert id="save" parameterType="java.util.List">
    insert into test(id,name) values
    <foreach collection="list" item="item" index="index" separator=",">
        (#{item.id},#{item.name})
    </foreach>
</insert>

 MySql:使用Oracle或者DB2的写法都可以,使用db2的生成的语句更加简洁。

猜你喜欢

转载自yangyanghukkk.iteye.com/blog/2342212