hibernate实现分页

本文介绍了如何利用Hibernate实现数据库的分页查询。通过设置setMaxResults()和setFirstResult()方法,可以指定每页显示的数量和起始位置。提供了一个分页工具类Pagination,包含了分页所需的各种属性和方法,如当前页、每页大小、总记录数等。在Service类中,首先获取总记录数,然后创建Pagination实例,并进行实际的分页查询操作。在Action类中,接收用户输入的当前页数并调用Service方法,最后将分页结果传递给前端。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先说明一下hibernate实现分页的原理,假如数据库中有50条数据,每页显示10条数据,假如我们查询第3页的数据那么应该从21开始,往后查10条数据,只需要设置起始位置和每页显示数量即可。下面我们来看一下例子.

 public List getPagination(String hql,int start,int count){
         Query query=this.sessionFactory.getCurrentSession().createQuery(hql);
          return query.setMaxResults(count).setFirstResult(start).list();
    }

 

上面这个方法参数start表示起始位置,参数count表示每页显示数量。最重要的setMaxResults(),和setFirstResult(),分别是设置显示数量和起始位置。

 

下面是一个分页工具类。

 package com.creditease.controller.utlis;

 import java.util.HashMap;

 import java.util.List;
 import java.util.Map;


public class Pagination {
 
 private int currentPage=0;   // 当前页
 private int pageSize=10;      // 每页要求最多显示的记录
 private int total;       // 查询 数据库 得到的所有 记录总数
 private List rows;       //  查询 得到 本页的数据,返回一个 装有po对象的 List
 private int pa

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值