亲测好用!
<!-- mysql -->
<insert id="insertBatch0" parameterType="java.util.List">
insert into model_prop_1(id, model_id, property_name, data_type, property_value, default_Value, operator, uptime)
values
<foreach collection="list" item="item" index="index" separator=",">
(
#{item.id},
#{item.modelId},
#{item.propertyName},
#{item.dataType},
#{item.propertyValue},
#{item.defaultValue},
#{item.operator},
#{item.uptime}
)
</foreach>
</insert>
<!-- oracle 方法1 -->
<insert id="insertBatch" parameterType="java.util.List">
insert all
<foreach collection="list" item="item" index="index">
into model_prop_1(id, model_id, property_name, data_type, property_value, default_Value, operator, uptime)
values
(
#{item.id},
#{item.modelId},
#{item.propertyName, jdbcType=VARCHAR},
#{item.dataType, jdbcType=VARCHAR},
#{item.propertyValue, jdbcType=VARCHAR},
#{item.defaultValue, jdbcType=VARCHAR},
#{item.operator, jdbcType=VARCHAR},
#{item.uptime, jdbcType=VARCHAR}
)
</foreach>
select 1 from dual
</insert>
<!-- oracle 方法2 -->
<insert id="insertBatch2" parameterType="java.util.List">
insert into model_prop_1(id, model_id, property_name, data_type, property_value, default_Value, operator, uptime)
<foreach collection="list" item="item" index="index" separator="union all">
select
#{item.id},
#{item.modelId},
#{item.propertyName, jdbcType=VARCHAR},
#{item.dataType, jdbcType=VARCHAR},
#{item.propertyValue, jdbcType=VARCHAR},
#{item.defaultValue, jdbcType=VARCHAR},
#{item.operator, jdbcType=VARCHAR},
#{item.uptime, jdbcType=VARCHAR}
from dual
</foreach>