oracle批量插入数据方法:
方法一:
<insert id="addList" parameterType="java.util.List" useGeneratedKeys="false">
INSERT ALL
<foreach item="item" index="index" collection="list">
INTO TEST_TableName
(
ID,
USER_ID,
USER_NAME,
TYPE,
CREATE_TIME
) VALUES
(
#{item.id, jdbcType=NUMERIC},
#{item.userId, jdbcType=VARCHAR},
#{item.userName, jdbcType=VARCHAR},
#{item.type, jdbcType=VARCHAR},
#{item.createdTime, jdbcType=NUMERIC}
)
</foreach>
SELECT 1 FROM DUAL
</insert>
方法二:
(insert into table(...) (select ... from dual) union all (select ... from dual))
<insert id="addList" parameterType="java.util.List" useGeneratedKeys="false">
INSERT INTO TEST_TableName
(
ID,
USER_ID,
USER_NAME,
TYPE,
CREATE_TIME
)
<foreach item="item" index="index" collection="list" separator="union all">
(
SELECT
#{item.id},
#{item.userId},
#{item.userName},
#{item.type},
#{item.createdTime}
FROM DUAL
)
</foreach>
</insert>