mybatis批量插入:mysql和oracle

mybatis批量插入

mysql数据库:

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

oracle数据库:

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

mybatis针对oracle的批量插入没有values关键字,foreach中的separator为union allforeach中sql使用dual表select (字段) from dual

发布了73 篇原创文章 · 获赞 44 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_34928194/article/details/103585880