项目场景:
在Java中如何分批次插入大量的数据

解决方案:
假设我们的list中装入了100万条数据,这里我们使用mybatis来实现
service层的处理

设置每次插入的大小

在这里插入图片描述
我们首先需要计算插入的次数;

在这里插入图片描述
计算每次的开始和结束下标

在这里插入图片描述
截取本次需要插入的list

在这里插入图片描述
调用mapper批量写入
orderMapper.batchInsert(batchList);

mapper层的处理
这里批量写入的时候可以使用foreach,循环拼接sql,由于在service层作过限制,不会导致sql太长

在这里插入图片描述
通过测试,这样就不会因为写入数据量过大导致内存溢出啦。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐