Hibernate分页代码思路

简介: Hibernate分页思路

1.查询分页数据,利用hibernate Query API:
Query [setFirstResult、setMaxResults]
其中firstResult为从那条记录开始,maxResult为查询多少条记录,即每页显示条数
代码:
Query q = session.createQuery("from Event e order by e.id asc");
q.setFirstResult(firstResult);
q.setMaxResults(pageSize);
List list = q.list();

2.pageSize、pageNo
但分页时,我们知道的只是显示哪一个页(pageNo),每页显示多少条(pageSize)
则相当于maxResults已知,需要计算firstResult值

3.计算firstResult,
int firstResult = (pageNo - 1) * pageSize;

4.需要校验pageNo
if(pageNo <= 0) :如果传递负值或零,则默认显示第一页
if(pageNo > maxPages):比如,用6页,却要显示第7页,则默认显示最后一页
但maxPages未知

5.查询maxPages
需要查询总记录数
select count(*) from Event e

6.OK

相关文章
|
4月前
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——EmpDao层代码
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——EmpDao层代码
|
4月前
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——DeptDao层代码
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——DeptDao层代码
|
SQL Java 关系型数据库
【java】——Hibernate代码创建表
小编最近正在进行Hibernate框架的学习,根据代码建立数据库表实现了一个小例子,跟读者朋友进行分享。
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——DeptDao层代码
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——DeptDao层代码
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——EmpDao层代码
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——EmpDao层代码
|
Java 关系型数据库 MySQL
Hibernate-ORM:10.Hibernate中的分页
  ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------       本篇博客讲述Hibernate中的分页 hibernate中的分页其实很好写,它通过操作对象的方式,来进行分页查询操作 分页无非就是查俩个:1.
955 0
|
SQL Java 数据库连接
|
Java 数据库连接
hibernate辅助类含分页
1 package com.cy.utils; 2 3 import java.io.Serializable; 4 import java.util.Iterator; 5 import java.
737 0
|
Java 数据库连接 索引
Hibernate分页
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.
724 0