資料庫實現分頁

2021-07-25 10:05:11 字數 2642 閱讀 1216

寫乙個資料庫通用的分頁功能,對於乙個專案來說這個是很實用的功能,可以自己封裝成jar包來使用

首先來新建乙個工程,目錄如下

然後新建乙個 pager類,**如下

package com.page.ben;

public class pager

public pager(int pagesize,int rowcount)else

this.firstpageno = 1;

this.lastpageno = pagecount;

if(pageno > 1 )

if(pagenothis.nextpageno = pageno+1;}}

public int getpageno()

public void setpageno(int pageno)

public int getpagesize()

public void setpagesize(int pagesize)

public int getpagecount()

public void setpagecount(int pagecount)

public int getrowcount()

public void setrowcount(int rowcount)

public int getprepageno()

public void setprepageno(int prepageno)

public int getnextpageno()

public void setnextpageno(int nextpageno)

public int getlastpageno()

public void setlastpageno(int lastpageno)

public int getfirstpageno()

public void setfirstpageno(int firstpageno)

}然後新建乙個dao介面

/**首頁

* @param page

*/public void firstpage(pager page);

/**尾頁

* @param page

*/public void lastpage(pager page);

/**位置頁

* @param page

* @param locationpage

*/public void locatepage(pager page,int locationpage);

}然後新建乙個實現類

package com.page.dao.impl;

import com.page.ben.pager;

import com.page.dao.pagedao;

public class pagedaoimpl implements pagedao

}@override

public void backward(pager page)

}@override

public void firstpage(pager page)

@override

public void lastpage(pager page)

@override

public void locatepage(pager page,int locationpage) else}}

然後建乙個分頁服務

package com.page.service;

import com.page.ben.pager;

public inte***ce pageservice

再來實現它

下面來看具體的實現:

public class test

public static void setpagermethod(string pagermethod)

public static pager getpage()

public static void setpage(pager page)

public static int getcurrentpage()

public static void setcurrentpage(int currentpage)

private static userdao dao = new userdaoimpl();  

listlists = dao.findbypage(page);

for (user user : list) }}

當然具體的資料庫需要你自己寫啦,在這就不細說了,只寫乙個案例吧:

下面是用hibernate實現的,其他的也是一樣的原理,是用limit(start,end)就可以了

public listfindbypage(pager page) catch(hibernateexception e)finally  

}  system.out.println("---------"+list.size());

return list;

}還要有乙個查詢所有記錄的操作,這裡就不細說了。

Oracle資料庫實現分頁

oracle中通過rownum實現分頁,rownum是乙個偽列,在普通的查詢中是不可見的,需要取出資料後rownum才會有值。例如我們需要查詢員工表中的員工資訊,並且顯示出資料的序號。select rownum as 序號,ename as 姓名,sal as 工資 這裡的rownum可以根據意思看...

ext grid 資料庫分頁實現

看了robbin 關於hibernate 分頁的老帖 把ext grid 的資料庫分頁整了下,完全滿足需要,呵呵,貼出 與大家共同學習下 dao 獲取符合查詢條件的記錄總數 param detachedcriteria hibernate criteria 查詢物件,由service組裝 retur...

資料庫實現分頁查詢顯示

現在一般用的比較多的資料庫,應該是oracle,mssql t sql mysql,但是他們並沒有統一的標準來實現分頁查詢,也就是沒有統一的sql標準,所以他們三個方法各不同給編碼人員造成了很大的不便。先總結一下,與大家共享!mysql 是最簡單的,就是使用limit進行查詢。例如 select f...