📄 criteriapage.java
字号:
package com.aptech.util.page;
import java.util.List;
/**
* Hibernate Query分页实现类
*
* @author 高祖辉(winner) 2006-12-12
*
*/
public class CriteriaPage implements Page {
private List elements;
private int pageSize;
private int pageNumber;
private int totalElements = 0;
//private Criteria criteria;
/**
* 分页数据提取方法
*
* @author 高祖辉(winner)
* @param queryAnalyzer
* 查询分析器
* @param pageNumber
* 当前显示页码
* @return this 当前分页对象
* @throws
*/
public CriteriaPage listPage(Object queryAnalyzer, int pageNumber) {
// this.criteria = (Criteria) queryAnalyzer;
// this.pageNumber = pageNumber;
// listPage();
return this;
}
/**
* 分页数据提取方法
*
* @author 高祖辉(winner)
*/
private void listPage() {
// if (null == criteria || pageSize <= 0)
// return;
// try {
// ScrollableResults scrollableResults = criteria.scroll();
// scrollableResults.last();
// this.totalElements = scrollableResults.getRowNumber() + 1;
// if (Integer.MAX_VALUE == pageNumber
// || pageNumber > getLastPageNumber()) // last page
// {
// pageNumber = getLastPageNumber();
// }
// elements = criteria.setFirstResult((pageNumber - 1) * pageSize)
// .setMaxResults(pageSize).list();
// } catch (HibernateException e) {
// throw new RuntimeException(e);
// }
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public boolean isFirstPage() {
return getCurrentPageNumber() == 1;
}
public boolean isLastPage() {
return getCurrentPageNumber() >= getLastPageNumber();
}
public boolean hasNextPage() {
return getCurrentPageNumber() < getLastPageNumber();
}
public boolean hasPreviousPage() {
return getCurrentPageNumber() > 1;
}
public int getLastPageNumber() {
return totalElements % pageSize == 0 ? totalElements / pageSize
: totalElements / pageSize + 1;
}
/**
* 返回List类型数据
*
* @return List数据源
*/
public Object getCurrentPageElements() {
return elements;
}
public int getTotalNumberOfElements() {
return totalElements;
}
public int getCurrentPageFirstElementNumber() {
return (getCurrentPageNumber() - 1) * getPageSize() + 1;
}
public int getCurrentPageLastElementNumber() {
int fullPage = getCurrentPageFirstElementNumber() + getPageSize() - 1;
return getTotalNumberOfElements() < fullPage ? getTotalNumberOfElements()
: fullPage;
}
public int getNextPageNumber() {
return getCurrentPageNumber() + 1;
}
public int getPreviousPageNumber() {
return getCurrentPageNumber() - 1;
}
public int getPageSize() {
return pageSize;
}
public int getCurrentPageNumber() {
return pageNumber;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -