mySql
xml文件中
<insert id="insertBatch" parameterType="java.util.List">
insert into 表名
(column1, column2,column3,column4)
values
<foreach collection="list" item="Model" separator="," >
(
#{Model.column1,jdbcType=VARCHAR},
#{Model.column2,jdbcType=VARCHAR},
#{Model.column3,jdbcType=VARCHAR},
#{Model.column4,jdbcType=VARCHAR}
)
</foreach>
</insert>
Oracle
xml文件中
<insert id="insertBatch" parameterType="java.util.List">
insert into 表名
(column1, column2,column3,column4)
<foreach collection="list" item="Model" separator="union all" index="index">
(
select
#{Model.column1,jdbcType=VARCHAR},
#{Model.column2,jdbcType=VARCHAR},
#{Model.column3,jdbcType=VARCHAR},
#{Model.column4,jdbcType=VARCHAR}
from dual
)
</foreach>
</insert>
mapper文件中
int insertBatch(List<Model> list);
调用时
List<Model> list = new ArrayList<Model>();
mapper.insertBatch(list);