-
/** * @description 分批插入数据 * 每100条循环一次 * @date 2016年11月14日 下午7:02:47 * @param vcardlist */ private void batchInsertVcard(List<VcardInfo> vcardlist) { // 1.分页数据信息 int totalSize = vcardlist.size(); // 总记录数 int pageSize = 100; // 每页N条 int totalPage = totalSize / pageSize; // 共N页 if (totalSize % pageSize != 0) { totalPage += 1; if (totalSize < pageSize) { pageSize = vcardlist.size(); } } System.out.println("循环保存的次数:"+totalPage);//循环多少次 // 组装新数据 List<VcardInfo> newVcardlist = new ArrayList<VcardInfo>(); for (int pageNum = 1; pageNum < totalPage + 1; pageNum++) { int starNum = (pageNum - 1) * pageSize; int endNum = pageNum * pageSize > totalSize ? (totalSize) : pageNum * pageSize; System.out.println("开始页:" + starNum + "结束页-------------" + endNum); for (int i = starNum; i < endNum; i++) { newVcardlist.add(vcardlist.get(i)); } vcardMapper.batchInsert(newVcardlist); // vcardlist.removeAll(newVcardlist);// 移出已经保存过的数据 newVcardlist.clear();// 移出当前保存的数据 System.out.println("第" + pageNum + "次结束----------"); } }
将大数据,分批分段,插入数据库
最新推荐文章于 2023-08-09 17:30:30 发布