七叶笔记 » java编程 » java分页怎么写

java分页怎么写

实现原理很简单,就是建立一个Page类,里面放当前访问的页数(这个是从客户浏览器传到后台的数据,所以你的分页需要用它来定位记录的条目)和每一页显示的记录行数。

然后通过分页计算就可以得出下列数据。(假定你的页数从1开始)

推荐:java基础教程

1、总页数 = 总记录数/每页大小,如果0!=总记录数%每页大小,那么总页数再+1

2、当前页数(从浏览器传递的参数中获得)

3、表记录的起始位置=(当前页数-1)*每页大小

4、总记录数(select count(*) from [表名] [where [条件]],从数据库中查询得到)

5、每页大小,可以固定,也可以从页面传过来有了这几个参数之后,就用sql语句查出对应的记录就可以了。

public class Page {     private long totalCount = 0;// 总记录数    private int pageNumber = 1;//  当前页号,默认显示第一页    private int pageSize = 20; // 每页大小,默认每页20条    private int totalPage = 0;// 总页数,默认为0    private int startRow = 0;// 起始记录行号,默认为从表头开始     /**    * 分页计算方法,由setTotalCount调用    */    public void pagination() {// 计算总页数        if (this.totalCount % pageSize == 0)            this.totalPage = new Long(this.totalCount / pageSize).intValue();        else            this.totalPage = new Long(this.totalCount / pageSize).intValue() + 1;// 排除错误页号        if (this.pageNumber < 1)            this.pageNumber = 1;        if (this.pageNumber > this.totalPage)            this.pageNumber = this.totalPage;// 计算起始行号        this.startRow = (this.pageNumber - 1) * this.pageSize;    }     public long getTotalCount() {        return totalCount;    }     public void setTotalCount(long totalCount) {        this.totalCount = totalCount;        this.pagination();    }     public int getPageNumber() {        return pageNumber;    }     public void setPageNumber(int pageNumber) {        this.pageNumber = pageNumber;    }     public int getPageSize() {        return pageSize;    }     public void setPageSize(int pageSize) {        this.pageSize = pageSize;    }     public int getTotalPage() {        return totalPage;    }     public void setTotalPage(int totalPage) {        this.totalPage = totalPage;    }     public int getStartRow() {        return startRow;    }     public void setStartRow(int startRow) {        this.startRow = startRow;    } }

相关文章