@Override public void batchAddPortDetail(Integer id, List<PortDetailPo> detailPos){ if (StringUtils.isNotEmpty(detailPos)) { detailPos.forEach((o) -> o.setOrderId(id)); int total = detailPos.size(), increment = 10_000; // 循环次数 int con = total % increment == 0 ? (total / increment) : (total / increment) + 1; for (int i = 0; i < con; i++) { // 区间左值 int current = i * increment; // 区间右值 int baseInc = (i + 1) * increment; if (total > baseInc) { detailPoMapper.batchInsert(detailPos.subList(current, baseInc)); } else { // 剩余不足10_000插入 detailPoMapper.batchInsert(detailPos.subList(current, total)); } } } }