91名师指路-头部
91名师指路

java stream对大的list进行切分,分批新增到数据库

由于某些原因,现在不支持支付宝支付,如需要购买源码请加博主微信进行购买,微信号:13248254750

一:代码如下

int BATCH_COUNT=1000;
List<CustomerFlow> list=customerFlowMap.selectAllCustomerFlow();
int limit = (list.size() + BATCH_COUNT - 1) / BATCH_COUNT;
// 分成limit次发请求到数据库, in()操作时, 可以把多条数据分割成多组请求
Stream.iterate(0, n -> n + 1).limit(limit).forEach(h -> {
List<CustomerFlow> batchList=list.stream().skip(h * BATCH_COUNT).limit(BATCH_COUNT).collect(Collectors.toList());
int add=customerFlowMapper.batchInsert(batchList);
log.info("新增用户信息: {}", add);
if(add==0){
throw new BusinessException(BusinessUtils.CODE_201, BusinessUtils.API_MSG_1209);
}
batchList.clear(); // 清空
});


参考资料:

1)https://blog.csdn.net/fzy629442466/article/details/84765070

2)https://blog.csdn.net/CJYJP/article/details/105966647




2023-02-17 17:48:24     阅读(507)

名师出品,必属精品    https://www.91mszl.com

联系博主    
用户登录遮罩层
x

账号登录

91名师指路-底部