java中往数据库批量插入数据Demo
java代码:
//入库数据是需要批量入库的List
int len =入库数据.size();
//每次循环10条
int incremnet = 10;
//计算需要寻得次数
int con = len % 10 ==0 ? len /10 : len / 10 +1;
for (int i =0; i < con; i++) {
//当前条数
int curr = i * incremnet ;
//空集合
List<实体> list = new ArrayList<实体>();
if (len - curr > incremnet ) {
//获取插入的集合
list = 入库数据.subList(curr, curr + incremnet );
//执行插入
xxdao.add_listxx(list);
}else{
//获取插入的集合
list = 入库数据.subList(curr, len);
//执行插入
xxdao.add_listxx(list);
}
}
dao代码:
//批量插入dao接口
public int add_listxx(@Param("list") List<实体对象> list);
Mybatis代码:
<!-- 批量插入 -->
<intsert id="add_listxx" useGeneratedKeys="true">
insert into 表名(name,type,cerator,...)
values
<foreach collection="list" separator="," item="i">
(#{i.name},#{i.type},#{i.cerator}...)
</foreach>
</insert>