由于Oracle中没有主键自增,所以在应用MyBatis实现Oracle批量插入操作的时候,我们可以使用序列的形式
创建对应的序列:
create sequence gra_seq
MyBatis批量插入SQL语句:
<insert id="addRoleAuthen" parameterType="java.util.List">
insert into groleauthen(ra_id,role_id,authen_id)
select gra_seq.nextval,gra.* from (
<foreach collection="list" item="item" index="index" separator="union all" open="(" close=")">
select
#{item.roleId},#{item.authenId}
from dual
</foreach>
)gra
</insert>