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;
}
}
相关文章推荐
- webdriver+python 对三大浏览器的支持
- Off-heap Memory in Apache Flink and the curious JIT compiler
- [oracle] listener.ora 、sqlnet.ora 、tnsnames.ora
- python 基础 如何让程序接收参数,最简单用sys.argv[]来获取
- Math的三个取整方法。
- algorithm@ Shortest Path in Directed Acyclic Graph (O(|V|+|E|) time)
- 怎么创建Porlet项目
- 我来看一下的而已发baa11
- dequeueReusableCellWithIdentifier和dequeueReusableCellWithIdentifier:forIndexPath的区别
- Teradata 数据定义
- HashMap原理解析
- 欢迎使用CSDN-markdown编辑器
- 使用Autolayout实现UITableView的Cell动态布局和高度动态改变
- HashMap原理解析
- HashMap原理解析
- Linux xclip --建立终端和剪切板之间的通道
- Linux who --查看当前登录用户
- ScalersTalk成长会机器学习小组第7周学习笔记
- DownloadManager的使用
- 性能测试工具curl-loader(linux)