1、背景分析
- 出于性能、资源管理或数据完整性等考虑,某些系统对批量新增操作限制每次不超过100条,这样当我们有超过100条数据时就要通过分页去处理。
- 当有500条时,页数是5页,只需循环5次就好;当有501条时,页数便是6页,就需要循环6次才可以全部执行完毕。
2、代码实现
具体方法:
public class PageUtil {
//行数
private static final int PAGE_SIZE = 100;
public static int getPageNum(List<?> list) {
if (list == null || list.size() == 0) {
return 0;
}
int totalCount = list.size();
//如果刚好是整数倍则页数不加1
if(totalCount % PAGE_SIZE == 0){
return totalCount / PAGE_SIZE;
}else {
return totalCount / PAGE_SIZE + 1;
}
}
}
调用:
List<AtnamDto> atnamDtoList = new ArrayList<>();
int pageNum = PageUtil.getPageNum(atnamDtoList);
for (int i = 0; i < pageNum; i++){
//具体逻辑.....
}