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; } }