这是一个完善的分页工具类,可以快速实现分页技术

import java.util.List;

public class Page<T> {
    /**
     * pageNum:当前页码
     * rowNum:起始行号
     * totalPages:总页数
     * totalCount:总条数
     * pageCount:当前页几条
     * list:当前页的内容
     */
    private Integer pageNum;
    private Integer rowNum;
    private Integer totalPages;
    private Integer totalCount;
    private Integer pageCount = 5;
    private List<T> list;

    public Integer getPageNum() {
        return pageNum;
    }

    public void setPageNum(Integer pageNum) {
        if (pageNum == null) {
            pageNum = 1;
        }
        if (pageNum <= 0) {
            pageNum = 1;
        }
        if (pageNum >= totalPages && totalPages > 0) {
            pageNum = totalPages;
        }
        this.pageNum = pageNum;
    }

    public Integer getRowNum() {
        return rowNum;
    }

    public void setRowNum() {
        this.rowNum = (pageNum - 1) * pageCount;
    }

    public Integer getTotalPages() {
        return totalPages;
    }

    public void setTotalPages() {
        this.totalPages = (totalCount % pageCount == 0) ? (totalCount / pageCount) : (totalCount / pageCount + 1);
    }

    public Integer getTotalCount() {
        return totalCount;
    }

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

    public Integer getPageCount() {
        return pageCount;
    }

    public void setPageCount(Integer pageCount) {
        if (pageCount == null) {
            pageCount = 10;
        }
        if (pageCount <= 0) {
            pageCount = 10;
        }
        this.pageCount = pageCount;
    }

    public List<T> getList() {
        return list;
    }

    public void setList(List<T> list) {
        this.list = list;
    }

    @Override
    public String toString() {
        return "Page{" +
                "pageNum=" + pageNum +
                ", rowNum=" + rowNum +
                ", totalPages=" + totalPages +
                ", totalCount=" + totalCount +
                ", pageCount=" + pageCount +
                ", list=" + list +
                '}';
    }

    //必须使用此顺序,初始化当前的对象
    public void init(Integer pageNum, Integer pageCount, Integer totalCount) {
        setTotalCount(totalCount);
        setPageCount(pageCount);
        setTotalPages();
        setPageNum(pageNum);
        setRowNum();
    }
}
  • 前端必填参数 其他查询参数可以忽略,根据项目规定非必要模糊查询参数
    pageNum:页码(第几页)
    pageCount:该页显示条数(信息条数)
  • 后端处理:
    a、仔细观看Page<t> page = new Page<t>这个类的构造,以及实现方法的构造
    b、getSum(模糊查询的参数-非必要的) 获取当前查询条件下有多少条信息
    c、page.init(pageNum,pageCount,getSum()) 初始化当前page对象
    d、获取SQL中limit n,m 中的你n,m这两个提提交
    e、n = page.getRowNum(); m = page.getPageCount();
    f、获取当前page中List<> list
    g、List<t> list = getList(模糊查询参数,n,m)
    h、page.list = list
    i、 return page ; 这就可以了</t></t></t>

这其中只需要你完成两个方法,getSum();getList();两个方法就OK了