封装的分页

来源:互联网 发布:小牛在线网络贷款 编辑:程序博客网 时间:2024/05/22 17:48

分页实体类

public class Page {    private List<?> data;// 要返回的某一页的记录集合    private long totalRow;// 总记录数    private int totalPage;// 总页数    private int currentPage=1;// 当前页    private int pageSize=10;// 每页记录数    public List<?> getData() {        return data;    }    public void setData(List<?> data) {        this.data = data;    }    public long getTotalRow() {        return totalRow;    }    public void setTotalRow(long totalRow) {        this.totalRow = totalRow;    }    public int getTotalPage() {        return totalPage;    }    public void setTotalPage(int totalPage) {        this.totalPage = totalPage;    }    public int getCurrentPage() {        return currentPage;    }    public void setCurrentPage(int currentPage) {        this.currentPage = currentPage;    }    public int getPageSize() {        return pageSize;    }    public void setPageSize(int pageSize) {        this.pageSize = pageSize;    }}

工具处理分页类

public class PageUtil {    /**     * 计算总页数     * @param pageSize  每页记录数     * @param allRow    总记录数     * @return          返回总页数     */    public static int countTotalPage(final int pageSize, long totalRow) {        /*//如果总记录数大于1000,则只计算前1000条记录的总页数        if(totalRow > 1000){            totalRow = 1000;        }*/        int totalPage = (int) (totalRow % pageSize == 0 ? totalRow / pageSize : totalRow                / pageSize + 1);        return totalPage;    }    /**     * 计算当前页起始记录数     * @param pageSize      每页记录数     * @param currentPage   当前第几页     * @return              返回当前页起始记录数     */    public static int getPageOffset(final int pageSize, final int currentPage) {        final int offset = pageSize * (currentPage - 1);        return offset;    }    /**     *      * @param currentPage   当前第几页     * @param pageSize      每页记录数     * @param totalRow      总记录数     * @param list          数据集合     * @return              返回分页对象page     */    public static Page getPage(int currentPage, int pageSize, long totalRow, List<?> list){        Page page = new Page();        page.setCurrentPage(currentPage);        page.setPageSize(pageSize);        page.setTotalRow(totalRow);        page.setTotalPage(countTotalPage(pageSize, totalRow));        page.setData(list);        return page;    }    /**     * 获取最后一页的记录数     * @param pageSize  每页记录数     * @param totalRow  总记录数     * @param totalPage 总页数     * @return          返回最后一页的记录数     */    public static int getLastPageRow(int pageSize, long totalRow, long totalPage){        return (int)(totalRow - pageSize * (totalPage - 1));    }}

其他页面调用PageUtil.(int currentPage, int pageSize, long totalRow, List

原创粉丝点击