import lombok.extern.slf4j.Slf4j;
import java.util.function.LongFunction;
/**
* 客户端分页工具类
*
* @author jason
*/
@Slf4j
public class PageUtil {
/**
* 开始执行
*
* @param callback 具体要做的事
*/
public static void start(LongFunction<Long> callback) {
// 页码
long pageNum = 1;
// 总页数
long pages = callback.apply(pageNum);
log.info("当前页码:{}", pageNum);
for (pageNum++; pageNum <= pages; pageNum++) {
log.info("当前页码:{}", pageNum);
// 查询返回的数据
callback.apply(pageNum);
}
}
/**
* 根据 页长 + 总数,获取总页数
*
* @param pageSize 页长
* @param total 总数
* @return pages 总页数
*/
public static long getPages(long pageSize, long total) {
if (pageSize == 0L) {
return 0L;
} else {
long pages = total / pageSize;
if (total % pageSize != 0L) {
++pages;
}
return pages;
}
}
/**
* 测试工具类
*/
public static void main(String[] args) {
PageUtil.start((pageNum) -> {
// 模拟:根据 pageNum 查询得到的结果集
// 模拟:总页数 pages = 10
return 10L;
});
}
}
08-03
11-23
141
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)