之前寫的簡易購物車系統,在顯示圖書列表的時候是全部顯示出來,圖書少的時候沒有什麼問題,但當圖書數量變多的時候,一下子把全部圖書顯示出來會讓介面看的不美觀,所以就打算加個分頁查詢的功能
最終效果:
實現:
分頁查詢有幾個比較重要的引數,pagenum當前的頁數,pagesize每頁所展示的資料,totalrecord總共有多少資料,其他的資料可以根據這三個資料得出,有了這幾個資料就可以分頁查詢了
public class page else
this.startindex = (pagenum-1)*pagesize;
//初始頭頁
this.start = 1;
//初始尾頁
this.end = 5;
if(totalpage<5)else
if(this.end>totalpage)}}
//下面的為get/set方法
public int getpagenum()
public void setpagenum(int pagenum)
public int getpagesize()
public void setpagesize(int pagesize)
public int gettotalrecord()
public void settotalrecord(int totalrecord)
public int gettotalpage()
public void settotalpage(int totalpage)
public int getstartindex()
public void setstartindex(int startindex)
public listgetbooklist()
public void setbooklist(listbooklist)
public int getstart()
public void setstart(int start)
public int getend()
public void setend(int end)
}
pagenum從請求中獲得,pagesize自己設定,totalrecord通過mybatis查詢獲得,一開始登入的時候請求中沒有pagenum,所以進行乙個判斷,如果沒有pagenum則賦值為1
//pagenum
string pagenum = request.getparameter("pagenum") == null?"1":request.getparameter("pagenum");
//pagesize
int pagesize = 7;
//totalrecord
//mybatis
select count(*) from book
有了pagenum和startindex就可以查詢到特定範圍的資料,通過使用mysql的limit函式,limit有兩個引數,第乙個引數為起始位置,即從那開始查,第二個引數為查詢範圍,即查多少個,如 limit 14,7 為從第14個資料開始往後查七個。
select *from book limit #,#
public static page getpageuser(int pagenum,int pagesize)
jsp頁面:
首頁$$
$ $
$ $
尾頁
其實這個用ajax實現會更好,我這種寫法每次都要請求整個頁面,費時得很 以後時間再進行優化把哈哈哈
完整**,在我的github中:github
javaWeb智慧型分頁
模仿的是鬥魚網頁端的分頁效果,效果如下。學校老師教的分頁太low了,所以自己模仿乙個以後可以用。pagebean.setcurrentpage currentpage 設定當前頁 int index currentpage 1 pagesize listmessages messagedao.fin...
JavaWeb分頁查詢的執行方案之一
在服務端分頁。跳到第n頁才查詢 顯示第n頁內容。要點就是根據客戶端 的 頁面 計算出資料庫要查詢的當前頁面的第一條記錄的位置。優點 實時性 跳頁才查詢。資料量小 只載入當前頁的記錄進行顯示。重點在於兩條語句 select count from 查詢得到記錄總條數 select from limit ...
JAVA WEB 實現分頁技術
這段時間因為專案需要,要做乙個分頁的功能,具體來說就是希望從資料庫每次只取一部分結果,這樣每頁就顯示那些結果,實現原理很簡單,就是建立乙個pageutil類,裡面放當前訪問的頁數 這個是從客戶瀏覽器傳到後台的資料,所以你的分頁需要用它來定位記錄的條目 和每一頁顯示的記錄行數。然後通過分頁計算就可以得...