由于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>