ListSplitUtil (批量数据处理)

public class ListSplitUtil {
/**
* 拆分
*
* @param allList allList
* @param limitCount limitCount
* @param T
* @return List
*/
public static List<List> splitList(List allList, int limitCount){
if (CollectionUtils.isEmpty(allList)) {
return new ArrayList<>();
}
List<List> appSplitList = new ArrayList<>();

    long total = allList.size();
    long remain = total % limitCount;
    long times = total / limitCount;
    long realTimes = remain == 0 ? times : times + 1;
    for (long i = 0; i < realTimes; i++) {
        List<T> batchList = allList.stream().skip(i * limitCount).limit(limitCount).collect(Collectors.toList());
        appSplitList.add(batchList);
    }

    return appSplitList;
}

}

// 使用实例
List<List> lists = ListSplitUtil.splitList(newConfigList, 100);
for (List configList : lists) {
regressionModelDao.batchInsertPredictModelDuConfig(configList);
}

public int batchInsertPredictModelDuConfig(List duConfigList) {
if (CollectionUtils.isEmpty(duConfigList)) {
return 0;
}
Map<String, Object> param = new HashMap<>();
param.put(“duConfigList”, duConfigList);
return dalClient.execute(SQL_NAMESPACE + “batchInsertPredictModelDuConfig”, param);
}

<![CDATA[ insert into predict_model_du_config(DU_ID,TYPE,MODEL_ID,STATUS,MODEL_STATUS,EXCEPT_START_TIME,EXCEPT_END_TIME,PRESSURE_DATA_RATIO,XAIXS_CUT_COUNT,CLEAR_DATA_HIGH_QUANTILE,CLEAR_DATA_LOW_QUANTILE,INTERCEPT_OFFSET_ABSOLUTE) values <#list duConfigList as item> ('${item.duId}',${item.type},'${item.modelId}',${item.status},${item.modelStatus},'${item.exceptStartTime}','${item.exceptEndTime}','${item.pressureDataRatio}','${item.xaixsCutCount}','${item.clearDataHighQuantile}','${item.clearDataLowQuantile}','${item.interceptOffsetAbsolute}') <#if item_has_next> ,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值