List数据分批⼊库 直接贴代码,主要运⽤
List<E> subList(int fromIndex, int toIndex); 把 List 分割
/**
* 保存批价结果
*
* @param priceResult 批价结果
* @throws Exception 异常
*/
private void savePriceResult(List<AmountPo> priceResult) throws Exception {
if (CheckUtils.isNotEmpty(priceResult)) {
//很⼤的⼀个list ⽐如:20W条数据
int size = priceResult.size();
int startIndex = 0;
//每批⼊库list⼤⼩⽐如:5000条⼀批
int endIndex = (int) MAX_SIZE;
//定义临时list
List<AmountPo> amountPos;
//分批⼊库
while (true) {
endIndex = endIndex > size ? size : endIndex;
//list.subList 分割成⼩的list
amountPos = priceResult.subList(startIndex, endIndex);
if (amountPos.size() == MAX_SIZE) {
//执⾏⼊库操作
amountDao.batchAdd(amountPos);
} else {
//最后⼀批⼊库数据
if (CheckUtils.isNotEmpty(amountPos)) {
amountDao.batchAdd(amountPos);
}
break;
}
startIndex = endIndex;
endIndex = (int) (startIndex + MAX_SIZE);
}
}
字符串截取第几行}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论