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

不带条件的简单分页查询。
 
主要用到:
                 Query query = getSessionDao().createQuery(hql1);
及两个分页条件:
query.setFirstResult(firstPage*pageSize);
query.setMaxResults(pageSize);
 
 
 
 
  1. /**
    * 不带条件的简单分页查询
    * @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;
    }
    }

     





posted @ 2015-08-19 10:28  唐予之  阅读(284)  评论(0编辑  收藏  举报