解决大批量数据入库时造成的IO异常

该代码段展示了如何将大量数据分批插入到数据库中,使用固定大小的批次(如1000条)进行处理。当数据量不足批量大小时,会根据剩余数量进行适配。这种方法可以有效提高数据库操作效率并降低内存消耗。
/**1k一批直接插入到数据库*/
private static final int OPENID_PHONE_NUM = 1000;
@Override
public long saveValidateList(List<AreasTargetHospitalValidate> validateList) {
    int listSize=validateList.size();
    int toIndex=OPENID_PHONE_NUM;
    int count=0;
    for(int i = 0;i<validateList.size();i+=OPENID_PHONE_NUM){
        if(i+OPENID_PHONE_NUM>listSize){
            //作用为toIndex最后没有800条数据则剩余几条newList中就装几条
            toIndex=listSize-i;
        }
        List<AreasTargetHospitalValidate> newValidateList =         validateList.subList(i,i+toIndex);
        //批量插入
        baseMapper.saveValidateList(newValidateList);
        count=count+OPENID_PHONE_NUM;
    }
    return count;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值