【工具类】客户端分页

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;
        });
    }

}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值