實作原理很簡單,就是建立一個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分頁怎麼寫的詳細內容。更多資訊請關注PHP中文網其他相關文章!