根据hql来分页查询对象:
/**<p>
* Description:根据hql来分页查询对象
* </p>
* @param hsql 要查询的条件
* @param firstRow 第一行
* @param maxRow 行数
* @return 查询结果list
* @since 2008-12-5
* @author xx
*/
public List<Gwszb> queryByHQL(String hql, int firstRow) {
Query query =getSession().createQuery(hql);
query.setFirstResult(firstRow);
query.setMaxResults(Constants.MAX_ROW);
return query.list();
}
通过hql查询全部的纪录总数,一般为long我们用int:
/**<p>
* Description: 通过hql查询全部的纪录总数
* </p>
* @param hql查询所有纪录总数的hql
* @return 返回纪录总数
* @since 2008-12-9
* @author xx
*/
public int getQueryByHQLNum(String hql) {
Query query =getSession().createQuery(hql);
int i=Integer.parseInt((query.iterate().next()).toString());
return i;
}
其他:
/**<p>
* Description:通过记录总数得到页的总数
* </p>
* @param totalNum 纪录总数
* @return 页的总数
* @since 2008-12-9
* @author xx
*/
public static int getAllPage(int totalNum){
return (Constants.MAX_ROW+totalNum-1)/Constants.MAX_ROW;
}
/**<p>
* Description: 通过当前页得到当前页的起始纪录
* </p>
* @param currentPag 当前的页数
* @return 得到 当前页的开始记录数
* @since 2008-12-9
* @author xx
*/
public static int getCurrentPageStar(int currentPag){
return (currentPag-1)*Constants.MAX_ROW;
}
本文介绍了一种使用HQL进行分页查询的方法,并提供了查询记录总数的实现方案。文章详细展示了如何设置查询参数以获取指定范围内的数据,同时提供了一个计算总页数的实用工具。
1093

被折叠的 条评论
为什么被折叠?



