您的位置:首页 > 其它

Hibernate实现不带条件的简单分页查询

2016-04-08 11:20 656 查看

Hibernate实现不带条件的简单分页查询。

主要用到:

Query query = getSessionDao().createQuery(hql1);


及两个分页条件:

query.setFirstResult(firstPage*pageSize);//设置查询起始数

query.setMaxResults(pageSize);//设置查询最大结果数


代码示例:

    /**
* 不带条件的简单分页查询
* @author lxh
* @version 1.0
*
*/
publicclassQueryListByPageextendsHibernateDaoImpl{
/**
* * 简单的分页的查询数据列表
*
* @param modelName
* 实体类名
* @param firstPage
* 查询第几页
* @param pageSize
* 每页显示几条数据
* @return 一页的数据列表,和总页数
*/
@SuppressWarnings("unchecked")
publicQueryResult findAllList(String modelName,int firstPage,int pageSize){
String hql1="from "+modelName;
String hql2="select count(*) from "+modelName;
Query query = getSessionDao().createQuery(hql1);query.setFirstResult(firstPage*pageSize);
query.setMaxResults(pageSize);
Long count =(Long) getSessionDao().createQuery(hql2).uniqueResult();
int totalPageNum=count.intValue()/pageSize+1;//总页数
List list = query.list();
// 返回结果
returnnewQueryResult(totalPageNum, list);
/**
*
* Map map = new HashMap();
* map.put("xx",list);
* map.put("xxx",totalPageNum);
* JSONObject jobj = JSONTUtil.toObject(map);
*
*/
}

import java.util.List;
publicclassQueryResult{
privateint totalPageNum;// 总记录数
privateList list;// 一页的数据
publicQueryResult(int totalPageNum,List list){
this.totalPageNum = totalPageNum;
this.list = list;
}
publicint getTotalPageNum(){
return totalPageNum;
}
publicvoid setTotalPageNum(int totalPageNum){
this.totalPageNum = totalPageNum;
}
publicList getList(){
return list;
}
publicvoid setList(List list){
this.list = list;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: