import java.util.List; import org.hibernate.HibernateException; import org.hibernate.Query; import org.hibernate.ScrollableResults; /***/ /***<p>Title:分页器</p>**<p>Description:</p>**<p>Copyright:Copyright(c)2006</p>**<p>Company:</p>**<p>Author:一个人的日子</p>**<p>Version:1.0</p>**<p>CreateDate:2006-08-17</p>**/ public class Page ... {privateListresult;//结果集privateintpageSize;//页大小privateintstartPage;//起始页从1开始privateScrollableResultsscrollableResults;privateinttotalResults;//总记录的条数privateinttotalPages;//总页数publicPage(intstartPage,intpageSize,Queryquery)...{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(HibernateExceptione)...{e.printStackTrace();}}/***//***得到查询结果*@return查询结果*/publicListgetResult()...{returnresult;}/***//***得到起始页*@return*/publicintgetStartPage()...{if(startPage<1)...{startPage=1;}if(startPage>totalPages)...{startPage=totalPages;}returnstartPage;}/***//***得到记录总数*@return*/publicintgetTotalResults()...{returntotalResults;}/***//***得到页大小*@return*/publicintgetPageSize()...{returnpageSize;}/***//***判断是否是第一页*@return*/publicbooleanisFirstPage()...{returnthis.startPage==1;}/***//***判断是否是有后一页*@return*/publicbooleanhasNextPage()...{returnthis.startPage<this.totalPages;}/***//***判断是否是有前一页*@return*/publicbooleanhasPreviousPage()...{returnthis.startPage>1;}/***//***设置总页数**/privatevoidsetTotalPages()...{this.totalPages=this.totalResults/this.pageSize;if(totalPages*pageSize<totalResults)...{totalPages++;}}/***//***得到总页数*@return*/publicintgetTotalPages()...{returntotalPages;}}