基于内存的分页

请求参数nodeQueryParam继承PageBean

public class PageBean {

    /**
     * 页码
     */
    @ApiModelProperty(value = "页码",example = "1")
    private Integer pageNum=1;

    /**
     * 每页数量
     */
    @ApiModelProperty(value = "每页数量",example = "10")
    private Integer pageSize=10;

    public Integer getPageNum() {
        return pageNum;
    }

    public void setPageNum(Integer pageNum) {
        this.pageNum = pageNum;
    }

    public Integer getPageSize() {
        return pageSize;
    }

    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }
}

返回的result

public class MeshPage {
    //当前页
    private int pageNum;
    //页大小
    private int pageSize;
    //总页数
    private int pages;
    //数据总数
    private int total;
    //分页结果
    private List<?> pageList;
}

分页工具


import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.util.PageUtil;
public class MeshPageUtil {
    /**
     * 根据总数计算总页数
     *
     * @param totalCount 总数
     * @param pageSize   每页数
     * @return 总页数
     */
    public static int totalPage(int totalCount, int pageSize) {
        return PageUtil.totalPage(totalCount, pageSize);
    }
    /**
     * 对list进行分页
     *
     * @param list
     * @param pageNum
     * @param pageSize
     * @return
     */
    public static MeshPage getPageDto(List<?> list, int pageNum, int pageSize) {
        MeshPage meshPage = new MeshPage();
        //总页数
        if (list == null) {
            return meshPage;
        }
        int pages = PageUtil.totalPage(list.size(), pageSize);
        List pageList = ListUtil.page(pageNum, pageSize, list);
        meshPage.setPageSize(pageSize);//页大小
        meshPage.setPageNum(pageNum);//当前页码
        meshPage.setPages(pages);//总页数
        meshPage.setTotal(list.size());//数据总数
        meshPage.setPageList(pageList);//分页结果集
        return meshPage;
    }
}

使用方式

public Result queryService(@RequestBody NodeQueryParam nodeQueryParam) {        
	 # 首先查询出所有的结果
 	List<PodInfoIpPort> podInfoIpPorts = meshNodeService.managerNode(nodeQueryParam);
 	#计算数据合
 	int total = podInfoIpPorts.size();
 	#计算分页页数,前端可传getPageSize
 	int pages = MeshPageUtil.totalPage(total, nodeQueryParam.getPageSize());
 	#分页结果
	MeshPage mesh = MeshPageUtil.getPageDto(podInfoIpPorts, nodeQueryParam.getPageNum(), nodeQueryParam.getPageSize());
	mesh.setPages(pages);
	return Result.success(mesh);
  }
                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值