?? pagination.java
字號(hào):
/**這個(gè)類用于分頁(yè)的工具類
* 具體可以將EntityListIterator格式的結(jié)果集分頁(yè)并輸出List格式的最終分號(hào)頁(yè)的數(shù)據(jù)
* setHow 方法是用來(lái)設(shè)置每頁(yè)顯示多少記錄,它接受一個(gè)int型參數(shù)
* getMaxpage 方法是用來(lái)獲取最大頁(yè)數(shù),它接受一個(gè)int參數(shù)max(要分頁(yè)的數(shù)據(jù)共有多少記錄)
* getNowlist 該方法通過(guò)接受EntityListIterator格式的結(jié)果集和當(dāng)前頁(yè)號(hào)、還有最大頁(yè)號(hào)可以返回分號(hào)頁(yè)的當(dāng)前頁(yè)數(shù)據(jù)
* 作者:于 波
* 創(chuàng)建日期:2006年12月28日 1:30
* */
package com.gensou.util;
import java.util.*;
import org.hibernate.HibernateException;
import org.hibernate.Query;
public class Pagination {
private int how=10;//該屬性用于設(shè)置每頁(yè)顯示多少記錄數(shù)
private int max;//用于設(shè)置最大記錄數(shù)(表示要分頁(yè)的數(shù)據(jù)共有多少記錄)
public int getHow() {//該方法可以獲取每頁(yè)顯示多少記錄數(shù)
return how;
}
public void setHow(int how) {//該方法用于設(shè)置每頁(yè)顯示多少記錄數(shù),它接受一個(gè)int參數(shù)
this.how = how;
}
public int getMaxpage(int max)//該方法用來(lái)獲取最大頁(yè)數(shù),它接受一個(gè)int參數(shù)max(要分頁(yè)的數(shù)據(jù)共有多少記錄)
{
this.max=max;
int maxpage=max%how==0?max/how:max/how+1;//這是一個(gè)三元運(yùn)算表達(dá)式如果最大記錄數(shù)max余每頁(yè)顯示多少記錄數(shù)how結(jié)果等于0那最大頁(yè)maxpage等于max除how,不然就等于maxpage除how+1
return maxpage;
}
public List getNowlist(Query all,int pageI,int maxpage) throws HibernateException
{//該方法通過(guò)接受EntityListIterator格式的結(jié)果集和當(dāng)前頁(yè)號(hào)、還有最大頁(yè)號(hào)可以返回分號(hào)后的當(dāng)前頁(yè)數(shù)據(jù)
List nowList=null;//初始化返回結(jié)果
try{
if(pageI==maxpage)//如果當(dāng)前頁(yè)等于最大頁(yè)
{
all.setMaxResults(10);
nowList=all.setFirstResult((pageI-1)*how).list();
//EntityListIterator的getPartialList方法用于獲取結(jié)果集中指定數(shù)據(jù)并保存成List格式,該方法接受兩個(gè)int型參數(shù),第一個(gè)參數(shù)表示從第幾條記錄開(kāi)始獲取,第2個(gè)參數(shù)表示你要獲取幾條記錄,返回結(jié)果為L(zhǎng)ist格式
//這個(gè)表示從哪開(kāi)始 這個(gè)表示你要獲取幾條記錄
}
else//如果當(dāng)前頁(yè)不等于最大頁(yè)
{
all.setMaxResults(how);
nowList=all.setFirstResult((pageI-1)*how).list();
}
}
catch(Exception e){
System.err.print(e);
}
return nowList;//返回結(jié)果
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -