mybatis+oracle批量插入记录
mapper
boolean saveBatch(List<Object> list)
xml
关键点:
oracle的自定义序列自增ID SEQ.XXXX.NEXTVAL ;
定义 separator=“union all”;
赋值的字段对应表中的列定义名。 #{item.xxx, jdbcType=VARCHAR} column2
<insert id="saveBatch" parameterType="java.util.List">
INSERT INTO db_table(ID,column2,column3,column4,column5)
SELECT SEQ.XXXX.NEXTVAL AS ID, t.* FROM (
<foreach collection="list" item="item" index="index" separator="union all">
SELECT
#{item.xxx, jdbcType=VARCHAR} column2,
#{item.xxx, jdbcType=VARCHAR} column3,
#{item.xxx, jdbcType=VARCHAR} column4,
#{item.xxx, jdbcType=VARCHAR} column5
FROM dual
</foreach>
) t
</insert>