手写一个分页查询(基于数据库limit)

package com.lc.bean;

import java.util.List;

/**
 * 分页查询工具
 */
public class Page<T> {
    //当前页数
    private Integer pageNow;
    //总页数 查询后计算得到
    private Integer totalPage;
    //总记录数
    private Integer totalCount;
    //每页显示记录数数 默认设置为4
    private Integer pageSize=4;
    //开始查询位置
    private Integer index;
    //是否有上一条记录
    private Boolean hasPrev;
    //是否有下一条记录
    private Boolean hasNext;
    //每一次的查询结果
    private List<T> pageData;
    //需要跳转回的链接
    private String url;

    public String getUrl() {
        return url;
    }

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

    public Page() {
    }

    public Page(Integer pageNow, Integer totalPage, Integer totalCount, Integer index, Boolean hasPrev, Boolean hasNext, List<T> pageData, String url) {
        this.pageNow = pageNow;
        this.totalPage = totalPage;
        this.totalCount = totalCount;
        this.index = index;
        this.hasPrev = hasPrev;
        this.hasNext = hasNext;
        this.pageData = pageData;
        this.url = url;
    }

    @Override
    public String toString() {
        return "Page{" +
                "pageNow=" + pageNow +
                ", totalPage=" + totalPage +
                ", totalCount=" + totalCount +
                ", pageSize=" + pageSize +
                ", index=" + index +
                ", hasPrev=" + hasPrev +
                ", hasNext=" + hasNext +
                ", pageData=" + pageData +
                ", url='" + url + '\'' +
                '}';
    }

    public void setPageData(List<T> t){
        this.pageData = t;
    }
    public List<T> getPageData(){
        return this.pageData;
    }
    public Integer getPageNow() {
        return pageNow;
    }

    public void setPageNow(Integer pageNow) {
        pageNow = pageNow>0?pageNow:1;
        pageNow = pageNow>getTotalPage()?getTotalPage():pageNow;
        this.pageNow = pageNow;
    }

    public Integer getTotalPage() {
        this.totalPage=getTotalCount()/getPageSize();
        if(getTotalCount()%getPageSize()!=0){
            totalPage=totalPage+1;
        }
        return totalPage;
    }


    public Integer getTotalCount() {
        return totalCount;
    }

    public void setTotalCount(Integer totalCount) {
        this.totalCount = totalCount;
    }

    public Integer getPageSize() {
        return pageSize;
    }
    
    public Integer getIndex() {
        this.index=(getPageNow()-1)*pageSize;
        if(index<0){
            index=0;
        }
        return index;
    }
    public Boolean getHasPrev() {
        hasPrev = getPageNow()>1;
        return hasPrev;
    }



    public Boolean getHasNext() {
        hasNext=getPageNow()<getTotalPage();
        return hasNext;
    }


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值