⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 criteriapage.java

📁 自己编写的一个JSP+SERVER的框架, 实际项目已经运用多次,效率很好.
💻 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 + -