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 all,foreach中sql使用dual表select (字段) from dual