這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)java實現(xiàn)分頁的方法,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)烏拉特后免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了成百上千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
實現(xiàn)原理很簡單,就是建立一個Page類,里面放當(dāng)前訪問的頁數(shù)(這個是從客戶瀏覽器傳到后臺的數(shù)據(jù),所以你的分頁需要用它來定位記錄的條目)和每一頁顯示的記錄行數(shù)。
然后通過分頁計算就可以得出下列數(shù)據(jù)。(假定你的頁數(shù)從1開始)
1、總頁數(shù) = 總記錄數(shù)/每頁大小,如果0!=總記錄數(shù)%每頁大小,那么總頁數(shù)再+1
2、當(dāng)前頁數(shù)(從瀏覽器傳遞的參數(shù)中獲得)
3、表記錄的起始位置=(當(dāng)前頁數(shù)-1)*每頁大小
4、總記錄數(shù)(select count(*) from [表名] [where [條件]],從數(shù)據(jù)庫中查詢得到)
5、每頁大小,可以固定,也可以從頁面?zhèn)鬟^來有了這幾個參數(shù)之后,就用sql語句查出對應(yīng)的記錄就可以了。
MySQL數(shù)據(jù)庫用limit 表記錄的起始位置,每頁大小 語句添加到你的查詢語句最后面sqlserver數(shù)據(jù)庫用top語句和not in 來做
oracle數(shù)據(jù)庫用rownum來做
具體代碼如下:
public class Page { private long totalCount = 0;// 總記錄數(shù) private int pageNumber = 1;// 當(dāng)前頁號,默認(rèn)顯示第一頁 private int pageSize = 20; // 每頁大小,默認(rèn)每頁20條 private int totalPage = 0;// 總頁數(shù),默認(rèn)為0 private int startRow = 0;// 起始記錄行號,默認(rèn)為從表頭開始 /** * 分頁計算方法,由setTotalCount調(diào)用 */ public void pagination() { // 計算總頁數(shù) 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; } }
前端采用jsp,通過html和計算得出的數(shù)據(jù)進(jìn)行分頁展示即可。
上述就是小編為大家分享的java實現(xiàn)分頁的方法了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。