基于Hibernate Query实现分页器[Java编程]
本文“基于Hibernate Query实现分页器[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
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>Create Date: 2006-08-17</p>
*
*/
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;
}
}
以上是“基于Hibernate Query实现分页器[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |