打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
hibernate query分页封装
package com.ytby.util;import java.util.List;import org.hibernate.HibernateException;import org.hibernate.Query;import org.hibernate.ScrollableResults;public class Page {	private List result; // 结果集	private int pageSize; // 页大小	private int startPage; // 起始页 从1开始	private ScrollableResults scrollableResults;	private int totalResults; // 总记录的条数	private int totalPages; // 总页数	public Page(int startPage, int pageSize, Query query) {		this.startPage = startPage;		this.pageSize = pageSize;		this.result = null;		try {			this.scrollableResults = query.scroll();			this.scrollableResults.last();			if (scrollableResults.getRowNumber() >= 0) {				this.totalResults = this.scrollableResults.getRowNumber() + 1;			} else {				this.totalResults = 0;			}			setTotalPages();			result = query.setFirstResult(					(this.getStartPage() - 1) * this.pageSize).setMaxResults(					this.pageSize).list();		} catch (HibernateException e) {			e.printStackTrace();		}	}	/**	 * 得到查询结果	 * 	 * @return 查询结果	 */	public List getResult() {		return result;	}	/**	 * 得到起始页	 * 	 * @return	 */	public int getStartPage() {		if (startPage < 1) {			startPage = 1;		}		if (startPage > totalPages) {			startPage = totalPages;		}		return startPage;	}	/**	 * 得到记录总数	 * 	 * @return	 */	public int getTotalResults() {		return totalResults;	}	/**	 * 得到页大小	 * 	 * @return	 */	public int getPageSize() {		return pageSize;	}	/**	 * 判断是否是第一页	 * 	 * @return	 */	public boolean isFirstPage() {		return this.startPage == 1;	}	/**	 * 判断是否是有后一页	 * 	 * @return	 */	public boolean hasNextPage() {		return this.startPage < this.totalPages;	}	/**	 * 判断是否是有前一页	 * 	 * @return	 */	public boolean hasPreviousPage() {		return this.startPage > 1;	}	/**	 * 设置总页数	 * 	 */	private void setTotalPages() {		this.totalPages = this.totalResults / this.pageSize;		if (totalPages * pageSize < totalResults) {			totalPages++;		}	}	/**	 * 得到总页数	 * 	 * @return	 */	public int getTotalPages() {		return totalPages;	}}





dao层调用

	public Page getList( int pageSize, int pageIndex) {		Session session = ht.getSessionFactory().openSession();		String hql = "from User";				Query query = session.createQuery(hql);				Page pages = new Page(pageIndex, pageSize, query);		session.close();		return pages;	}

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
java web 分页
应用Hibernate3的DetachedCriteria实现分页查询
Linq通用分页类的实现,可返回匿名类型 转载
Spring MVC MongoDB 分页例子下载
hibernate hql 查询指定字段并获取结果集
Mybatis分页插件-pagehelper
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服