/** * 分批插入-公共方法 * * @param objects:数据集合 * @param subSize:单次插入的条数 */ public static <E> List<List<E>> splitTo(List<E> objects, int subSize) { //1.确定数据要分几次插入(根据总条数和每次插入条数) List<List<E>> lists = new ArrayList(); int idCount = objects.size(); //插入次数(批量插入数据库次数) int loopTimes = idCount / subSize; if (loopTimes * subSize < idCount) { loopTimes++; } //2.把每一次插入的数据放到双重集合里 for (int i = 0; i < loopTimes; ++i) { int fromIndex = i * subSize; int toIndex = (i + 1) * subSize; lists.add(objects.subList(fromIndex, toIndex > idCount ? idCount : toIndex)); } return lists; }