项目场景:
在Java中如何分批次插入大量的数据
解决方案:
假设我们的list中装入了100万条数据,这里我们使用mybatis来实现
service层的处理
设置每次插入的大小
我们首先需要计算插入的次数;
计算每次的开始和结束下标
截取本次需要插入的list
调用mapper批量写入
orderMapper.batchInsert(batchList);
mapper层的处理
这里批量写入的时候可以使用foreach,循环拼接sql,由于在service层作过限制,不会导致sql太长
通过测试,这样就不会因为写入数据量过大导致内存溢出啦。