首页 / 软件开发 / JAVA / Hibernate分页的设计和编码
Hibernate分页的设计和编码2011-09-181. 当前页码的表单参数 listuser.do?page=2同时转换成一个 int 类型的页码变量int currentPage = Integer.parseInt(request.getParameter("page");// 当前页2. 下一页 listuser.do?page=${currentPage+1}上一页 listuser.do?page=${currentPage-1}3. 一页显示多少数据int pageSize = 5;//每页显示的数据数4. 总页数 totalPage1) 先从数据库取得总记录数dao.UserDAO#getUserTotalCount()int totalCount = executeQuery("select count(*) from Users");2) 根据一页的数据类计算出总页数 dao.UserManager#getTotalPage(int pageSize)
// 得到页面总数
int totalPageCount = ((totalCount + pageSize) - 1) / pageSize;
if(totalPageCount == 0) {
totalPageCount = 1;
}5. 从数据库里把第currentPage页的数据读取出来(Hibernate), DAO 层的代码dao.UserDAO#findPagedAll(int currentPage, int pageSize)两个参数: currentPage 当前页(从1开始的)pageSize 取多少数据 String queryString = "from User";
Query queryObject = getSession().createQuery(queryString);
queryObject.setFirstResult((currentPage - 1) * pageSize);
queryObject.setMaxResults(pageSize);
List result = queryObject.list();