📄 pagination.java
字号:
/**这个类用于分页的工具类
* 具体可以将EntityListIterator格式的结果集分页并输出List格式的最终分号页的数据
* setHow 方法是用来设置每页显示多少记录,它接受一个int型参数
* getMaxpage 方法是用来获取最大页数,它接受一个int参数max(要分页的数据共有多少记录)
* getNowlist 该方法通过接受EntityListIterator格式的结果集和当前页号、还有最大页号可以返回分号页的当前页数据
* 作者:于 波
* 创建日期: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;//该属性用于设置每页显示多少记录数
private int max;//用于设置最大记录数(表示要分页的数据共有多少记录)
public int getHow() {//该方法可以获取每页显示多少记录数
return how;
}
public void setHow(int how) {//该方法用于设置每页显示多少记录数,它接受一个int参数
this.how = how;
}
public int getMaxpage(int max)//该方法用来获取最大页数,它接受一个int参数max(要分页的数据共有多少记录)
{
this.max=max;
int maxpage=max%how==0?max/how:max/how+1;//这是一个三元运算表达式如果最大记录数max余每页显示多少记录数how结果等于0那最大页maxpage等于max除how,不然就等于maxpage除how+1
return maxpage;
}
public List getNowlist(Query all,int pageI,int maxpage) throws HibernateException
{//该方法通过接受EntityListIterator格式的结果集和当前页号、还有最大页号可以返回分号后的当前页数据
List nowList=null;//初始化返回结果
try{
if(pageI==maxpage)//如果当前页等于最大页
{
all.setMaxResults(10);
nowList=all.setFirstResult((pageI-1)*how).list();
//EntityListIterator的getPartialList方法用于获取结果集中指定数据并保存成List格式,该方法接受两个int型参数,第一个参数表示从第几条记录开始获取,第2个参数表示你要获取几条记录,返回结果为List格式
//这个表示从哪开始 这个表示你要获取几条记录
}
else//如果当前页不等于最大页
{
all.setMaxResults(how);
nowList=all.setFirstResult((pageI-1)*how).list();
}
}
catch(Exception e){
System.err.print(e);
}
return nowList;//返回结果
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -