mybatis bulk insert
mysql database:
<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 database:
<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 for the bulk insert no values keyword , foreach of the separator is All of Union , foreach table in sql dual use select (field) from dual