分页工具类

/**
 * 分页工具类,在获取查询起始行和总页数之前,应先设置总记录数和每页显示条数 
 * 每页显示条数默认为10
 * @author 大别山人
 * @2018年5月10日 下午10:04:41
 * @param <T>
 */
public class PageBeanUtil<T> {
    // 当前页码
    private int currentPage; 
    // 每页显示条数
    private int pageLine; 
    // 保存当前页要显示的所有数据
    private List<T> beanList; 
    // 总记录数
    private int totalCount; 
    /**
     * 获取查询起始行
     * @return
     */
    public int getStartIndex() {
        return (getCurrentPage() - 1) * getPageLine();
    }
    /**
     * 获取总页数
     * @return
     */
    public int getTotalPageCount() {
        return (totalCount + getPageLine() - 1) / getPageLine();
    }
    /**
     * 返回当前页
     * @return
     */
    public int getCurrentPage() {
        if(currentPage < 1) {
            currentPage = 1;
        }else if(currentPage > getTotalPageCount()) {
            currentPage = getTotalPageCount();
        }
        return currentPage;
    }
    public void setCurrentPage(int currentPage) {
        this.currentPage = currentPage;
    }
    /**
     * 返回一页显示的总行数,不小于0,默认为10行
     * @return
     */
    public int getPageLine() {
        if(pageLine <= 0) {
            pageLine = 10;
        }
        return pageLine;
    }
    public void setPageLine(int pageLine) {
        this.pageLine = pageLine;
    }
    public List<T> getBeanList() {
        return beanList;
    }
    public void setBeanList(List<T> beanList) {
        this.beanList = beanList;
    }
    public int getTotalCount() {
        return totalCount;
    }
    public void setTotalCount(int totalCount) {
        this.totalCount = totalCount;
    }
    @Override
    public String toString() {
        return "PageBean [当前页码:" + currentPage + ", 每页显示行数:" + getPageLine() + ", 当前页的数据:" + beanList
                + ", 总记录数:" + totalCount + ", limit起始行数:" + getStartIndex() + ",  总页数:" + getTotalPageCount() + "]";
    }
}

 

posted on 2018-06-06 14:41  大别山人  阅读(134)  评论(0编辑  收藏  举报