hibernate的分页查询

本文详细介绍了如何使用Hibernate实现分页查询。包括定义页面类、查找信息类、创建数据库表、配置数据库连接文件、编写启动Hibernate的Util类,以及最终实现分页查询的完整过程。
摘要由CSDN通过智能技术生成

hibernate实现分页查询
具体思路

通过Hibernate实现分页查询,
开发人员只需要提供HQL语句(调用Session的createQuery()方法)
或查询条件(调用Session的createCriteria()方法)、
设置查询起始行数(调用Query或Criteria接口的setFirstResult()方法)
和最大查询行数(调用Query或Criteria接口的setMaxResults()方法)
并调用Query或Criteria接口的list()方法,Hibernate会自动生成分页查询的SQL语句。

第一我们需要一个定义页面的类

 public class Page {
 9     /**
10      *  其中currentPage,perPageRows这两个参数是做分页查询必须具备的参数
11      *  原因是:hibernate中的Criteria或则是Query这两个接口:都有setFirstResult(Integer firstResult)
12      *  和setMaxResult(Integer maxResult),
13      *  这里的firstResult就是每页的开始的索引数:
14      *  每页开始的索引数的计算公式是:(currentPage-1)*perPageRows+1,(这是相对索引从1开始的)
15      *  但是Hibernate中的firstResult的索引是从0开始的,所以在hibernate中每页开始的索引数的计算公式是:
16      *  (currentPage-1)*perPageRows+1-1=(currentPge-1)*perPageRows.
17      *
18      *  maxResult就是每页能查询的最大记录数:也就是perPageRows.
19      *
20      *  Math.ceil(totalRows/perPageRows)==totalPages;//这是根据总记录数和每页的记录数算出总页数的计算公式。
21      */
22     private Integer currentPage;//当前页
23     private Integer perPageRows;//每页的记录数
24     private Integer totalRows;//总记录数:
25     private Integer totalPages;//总页数:
26     public Integer getCurrentPage() {
27         return currentPage;
28     }
29 
30     public void setCurrentPage(Integer currentPage) {
31         this.currentPage = currentPage;
32     }
33 
34     public Integer getPerPageRows() {
35         return perPageRows;
36     }
37 
38     public void setPerPageRows(Intege
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值