public void batchInsertTable(List<InsertObjClass> list, int startIndex, int maxSize){
if (startIndex + maxSize >= list.size()){
dao.insertList(list.subList(startIndex, list.size()));
}else{
dao.insertList(list.subList(startIndex, startIndex + maxSize));
this.batchInsertTable(list, startIndex + maxSize, maxSize);
}
}
其中,InsertObjClass为对象类,insertList为批量插入的方法。
下面为Mysql中在mybatis中批量插入数据的方法:
1.首先定义接口:
public int insertList(List<insertList> list);
2.在对应的xml文件中实现上面的方法:
<insert id="insertList" parameterType="java.util.ArrayList">
insert into table
(id,name,age)
values
<foreach collection="list" item="item" index="index" separator=",">
(
#{item.id},
#{item.name},
#{item.age}
)
</foreach>
</insert>