//计算总记录数
public int getTotalRows(String hql){
String sql=hql.substring(hql.toLowerCase().indexOf("from"),hql.length());
sql="select count(*) "+sql;
Long n=(Long)getHibernateTemplate().find(sql).get(0);//hibernate返回的object需要用long类型接收,否则报错
int num=Integer.valueOf(n.toString());
return num;
}
//计算总页数
public int getTotalPage(int totalRow,int pageSize){
int totalPage=totalRow%pageSize==0? (totalRow/pageSize):((totalRow/pageSize)+1);
return totalPage;
}
/**
* 分页查询符合条件的记录
* @param hql:查询所用hql语句
* @param pageNumber:查看页码
* @param pageSize:每页的记录数
* @return:返回查询结果
*/
public List getResultList(final String hql,final int pageNumber,final int pageSize){
List resultList=new ArrayList();
resultList=getHibernateTemplate().executeFind(new HibernateCallback(){
public Object doInHibernate(Session session) throws HibernateException,SQLException {
//获取Hibernate的查询对象
Query query=session.createQuery(hql);
query.setFirstResult((pageNumber-1)*pageSize);
query.setMaxResults(pageSize);
return query.list();
}
});
eturn reusltList;
}
我是新手,刚入行不久,用博客来记录成长过程,哪有不足之处请多多指教。嘿嘿、、、