Oracle INSERT ALL
MyBatis 生成 Oracle 批量插入
<insert id="insertALL" parameterType="java.util.List">
INSERT ALL
<foreach collection="list" item="item" index="index" separator=" ">
INTO TableName (
<trim prefixOverrides="," prefix=" ">
<if test="item.ID!=null">,ID</if>
<if test="item.NAME!=null">,NAME</if>
<if test="item.AGE!=null">,AGE</if>
</trim>
)VALUES(
<trim prefixOverrides="," prefix=" ">
<if test="item.ID!=null">,#{item.ID}</if>
<if test="item.NAME!=null">,#{item.NAME}</if>
<if test="item.AGE!=null">,#{item.AGE}</if>
</trim>
)
</foreach>
SELECT 1 FROM DUAL
</insert>
<insert id="insertALL" parameterType="java.util.List">
INSERT INTO TableName ( ID, NAME, AGE)
<foreach collection="list" item="item" index="index" separator=" UNION ALL ">
SELECT #{item.ID}, #{item.NAME}, #{item.AGE} FROM DUAL
</foreach>
</insert>