//查询所有满足条件的数据 List<String> params=service.queryParams(dto); /*数据量过大,分批次插入*/ //限制数每次插入量 int dataLimit = 1000; //数据总大小 int size = params.size(); //是否有必要分批 if (size <= dataLimit) { //执行mybatis方法 doUpdateInterfaceInfo(params); } else { //分批数 int part; if (size % dataLimit != 0) { part = size / dataLimit + 1; } else { part = size / dataLimit; } for (int i = 0; i < part; i++) { List<String> subparams; //判断是否是最后一次 if (i != part - 1) { subparams = params.subList(i * dataLimit, (i + 1) * dataLimit); } else { subparams = params.subList(i * dataLimit, params.size()); } ////执行mybatis方法 doUpdateInterfaceInfo(subparams ); } }