
完成道理很简单,就是竖立一个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; } }
以上就是java分页怎样写的细致内容,更多请关注ki4网别的相干文章!