JAVA WEB 實現分頁技術

2021-07-13 23:54:12 字數 2672 閱讀 7231

這段時間因為專案需要,要做乙個分頁的功能,具體來說就是希望從資料庫每次只取一部分結果,這樣每頁就顯示那些結果,實現原理很簡單,就是建立乙個pageutil類,裡面放當前訪問的頁數(這個是從客戶瀏覽器傳到後台的資料,所以你的分頁需要用它來定位記錄的條目)和每一頁顯示的記錄行數。然後通過分頁計算就可以得出下列資料。

分頁物件**:

public class pageutil

public int getpageno()

public int getsta()

public void setsta(int sta)

//對頁號的處理

public void setpageno(int pageno) else if(this.totalpage!=0&&pageno>this.totalpage)else

}public int getpagesize()

//對頁面大小的處理

public void setpagesize(int pagesize) else

}public int gettotalsize()

//對資料條數的處理

public void settotalsize(int totalsize) else

}//對數總頁面數量的處理

public int gettotalpage()

@override

public int hashcode()

@override

public boolean equals(object obj) }

分頁方法的優化:

public string getorderinfo()

//判斷是否是第一次呼叫這個方法

object obj=session.get("pageutil");

if(obj==null)

//對不同的操作請求進行判斷

if("1".equals(op))else if("2".equals(op))else if("3".equals(op))else if("4".equals(op))

//將最新的分頁資訊存起來

session.put("pageutil", pageutil);

//根據頁面號查詢資訊

orderslist=ordersservice.find(usersid,pageutil.getsta(),pageutil.getpageno(),pageutil.getpagesize());

//存到session中,方便前台的使用

session.put("yeorders", orderslist);

//轉成json資料

jsonobject=new jsonobject();

//往前臺傳送

jsonobject.setrows(orderslist);

return "success";

}html中的分頁**:

js中的函式:

function pageinfo(op),function(data)else if(ordstas==1)else if(ordstas==2)else if(ordstas==3)else if(ordstas==4)

str+="";

str+="";

str+=""+zhuatai+"(訂單狀態)

";str+="日期:"+myorders[i].orddate+" 

|";str+=""+myorders[i].recipient+"

|";str+="訂單號:

"+myorders[i].ordid+"(訂單號) |  ";

str+="訂單金額:

"+myorders[i].ordtatol+"

元";str+="

";for(var j=0;jstr+="";

str+="

";str+=""+myorders[i].orderdetails[j].goodsname+"

";str+=""+myorders[i].orderdetails[j].detaprice+"

元 × 

"+myorders[i].orderdetails[j].detanum+"件";}

str+="";}

$("#bigdiv").html($(str)); 

},"json");

}resultmap :一對多

select * from  (select a.*,rownum rn from (select o.*,ad.recipient from orders o,address ad where ad.addrid=o.addrid 

and o.usersid=#

and ordsta=#

order by orddate desc)a where # >=rownum)b where rn>#

select o.ordid,g.goodsminpic,g.goodsname,od.detanum,od.detaprice,od.detasta,p.ptid from 

orders o,orderdetail od,goods g,product p where o.ordid = od.ordid and od.ptid = p.ptid

and p.goodsid = g.goodsid and o.ordid = #

javaWeb智慧型分頁

模仿的是鬥魚網頁端的分頁效果,效果如下。學校老師教的分頁太low了,所以自己模仿乙個以後可以用。pagebean.setcurrentpage currentpage 設定當前頁 int index currentpage 1 pagesize listmessages messagedao.fin...

JavaWeb 分頁查詢

之前寫的簡易購物車系統,在顯示圖書列表的時候是全部顯示出來,圖書少的時候沒有什麼問題,但當圖書數量變多的時候,一下子把全部圖書顯示出來會讓介面看的不美觀,所以就打算加個分頁查詢的功能 最終效果 實現 分頁查詢有幾個比較重要的引數,pagenum當前的頁數,pagesize每頁所展示的資料,total...

JAVA WEB開發分頁演算法

分頁是所有的專案使用之中最為常見的功能之一,並且分頁的目的是為了減少資料的讀取數量。大家試想,如果一張表中的資料非常多,這時如果不採用分頁而是將所有的資料都載入顯示,那麼會出現如下兩個問題 載入的資料過多,會造成記憶體空間的不足 資料載入的過多,使用者的瀏覽會非常的麻煩,而且使用者不一定要檢視所有的...