`
Xue_zhang
  • 浏览: 10524 次
  • 性别: Icon_minigender_1
  • 来自: 邢台
社区版块
存档分类
最新评论

使用Hibernate进行分页的实现

阅读更多
使用Hibernate进行分页的实现[/color][/size]
[/align]

某个类---映射的表进行实现分页技术
查询的表的记录过程————————只是获取当前页的信息

首页:0-----4
当前页:
上一页:当前页-1
下一页:当前页+1
最后一页:末页


每页显示的记录数是多少呢? 5
查询当前页的信息
    -------------------------------------
    当前页在表中的起始位置及结束位置.
   
--------------------------------------
递增序列   姓名                      起始位置:
1                                    0
2
3
4
6
8
100
101
102
103
104
200

比如在这里:
//每页显示记录数
private Integer pagesize=5;
//定义当前页变量
private Integer nowpage;


//写出当前页显示的记录的开始位置:
当前页    每页显示的记录数        当前页开始的位置         当前页结束的位置
1            5                        0                            4
2            5                         5
3                                     10
4            5                        15
5                                     20
6                                     25
-----------------------------------------------------
当前页的起始位置=====(nowpage-1)*pagesize 起始位置。




末页:
   select count(*) from 表名;
//总记录数  
private Integer countRecord;   有每页显示的条数
总页数:末页值
private Integer  countPage;//总页数
countPage = countRecord%pagesize==0?countRecord/pagesize:countRecord/pagesize+1;



及结束位置

[align=center][size=x-small][color=red]代码


package cn.zhang.page;



import java.sql.SQLException;
import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

//分页的实现类
public class Pagination extends HibernateDaoSupport {
// 每页显示的记录数
private final Integer PAGESIZE = 5;
// 总记录数
private Integer countrecord;
// 总页数
private Integer countpage;
// 当前页
private Integer nowpage;
// 每页显示的信息
private List list;

// 查询当前页的信息
public void getNowPageInfo(int nowpage, final String className) {
// 获取总记录数

      long cr = (Long) this.getHibernateTemplate().find("select count(*) from " + className +" as c").get(0);

this.countrecord = (int) cr;
// 计算总页数
this.countpage = this.countrecord % this.PAGESIZE == 0 ? this.countrecord
/ this.PAGESIZE
: this.countrecord / this.PAGESIZE + 1;
// 判断当前页的值是否合法
if (nowpage <= 1) {
this.nowpage = 1;
}

if (nowpage >= this.countpage) {
this.nowpage = this.countpage;
}

// 计算起始位置
final int startindex = (this.nowpage - 1) * PAGESIZE;

this.getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
// hiberante支持的分页
list = session.createQuery(" from "+className)
.setMaxResults(PAGESIZE).setFirstResult(startindex)
.list();
return list;
}
});

}

public Integer getCountrecord() {
return countrecord;
}

public void setCountrecord(Integer countrecord) {
this.countrecord = countrecord;
}

public Integer getCountpage() {
return countpage;
}

public void setCountpage(Integer countpage) {
this.countpage = countpage;
}

public Integer getNowpage() {
return nowpage;
}

public void setNowpage(Integer nowpage) {
this.nowpage = nowpage;
}

public List getList() {
return list;
}

public void setList(List list) {
this.list = list;
}

public static void main(String[] args) {

}

}
分享到:
评论

相关推荐

    STRUTS2+HIBERNATE详细的分页实现代码详细的分页实现代码

    为了实现分页功能,我们需要在Struts2中定义Action类来接收用户的翻页请求,并通过Hibernate进行数据查询。具体步骤如下: 1. **定义PageTool类** 在Struts2中,我们通常会定义一个PageTool类来封装分页所需的信息...

    用Hibernate实现分页查询.docx

    ### 使用Hibernate实现分页查询 #### 一、分页查询概念及原理 分页查询是一种在数据量较大的情况下,为了提高用户体验和系统性能而采取的一种技术手段。它将查询结果分成若干页显示,用户可以通过翻页操作查看不同...

    Struts+Hibernate实现分页

    这样的分页实现保证了数据的高效加载和用户的流畅体验,同时充分利用了Struts的控制层和Hibernate的数据访问层能力,降低了开发复杂度。在实际项目中,还可以考虑优化如缓存、懒加载等策略来进一步提高性能。

    用户Hibernate实现的一个分页

    一、Hibernate分页基础 1. Hibernate的Query和Criteria API都提供了分页功能。使用`setFirstResult()`方法设置查询开始的位置,即第几条记录,以及`setMaxResults()`方法设置一次返回的最大记录数,这两者结合即可...

    java+hibernate实现分页

    java+hibernate实现分页 public String execute() throws Exception { System.out.println("Page:" + page); pagePlanList = ps.findPlantByPage(page, rowsPerPage); totalPage = ps.getPlanTotalPage...

    Struts + Hibernate 分页实现

    在"Struts + Hibernate 分页实现"这个项目中,重点在于如何在Web应用中整合这两个框架,并实现数据的分页显示。分页是大型数据集处理时常见的需求,它能够帮助用户更有效地浏览和管理大量信息,避免一次性加载所有...

    hibernate实现分页

    ### Hibernate分页基础 1. **Criteria API**:Hibernate的Criteria API允许我们创建动态查询,同时也支持分页。通过设置`setFirstResult()`和`setMaxResults()`方法,可以实现分页效果。例如: ```java Criteria ...

    hibernate 通用分页的实现

    hibernate_mysql_struts2 实现的通用分页类.欢迎指正

    hibernate实现分页查询

    通过上述步骤,我们成功实现了利用Hibernate进行分页查询的功能。这种做法不仅提高了系统的响应速度,还增强了用户体验。在实际开发过程中,根据具体需求选择合适的分页策略对于提升整体应用性能至关重要。此外,在...

    使用Struts + Spring + Hibernate完成分页笔记

    在分页实现中,Spring可以管理Struts的Action类以及Hibernate的数据访问对象(DAO)。通过Spring的IOC(Inversion of Control,控制反转),我们可以将DAO的实例注入到Action中,使得Action无需关心DAO的具体创建...

    完整Struts2 HIBERNATE实现分页

    根据提供的标题、描述以及部分内文,我们可以梳理出关于如何使用Struts2与Hibernate实现分页功能的关键知识点。 ### Struts2与Hibernate简介 - **Struts2**:这是一个基于MVC架构的开源Web框架,它能帮助开发者...

    Spring+Hibernate完整分页

    本文将深入探讨如何利用Spring和Hibernate实现完整的分页功能,并结合MySQL数据库进行操作。 首先,Spring是一个轻量级的框架,它提供了全面的DI服务,允许开发者通过XML配置或注解来管理对象的生命周期和依赖关系...

    Struts2+HIBERNATE实现分页(完整讲解)

    通过上述步骤,我们已经成功地使用Struts2和Hibernate实现了分页功能。在实际开发中,可能还需要考虑性能优化,如缓存策略、查询优化等。对于初学者来说,理解并实践这个过程是掌握Java Web开发的重要一环。不断学习...

    hibernate通用分页

    `Pagehelp.java`可能包含一个静态方法,接受Hibernate的Session对象、查询条件、每页大小和当前页数作为参数,内部会使用Criteria或HQL进行分页查询并返回一个封装了查询结果和分页信息的对象。这个对象可能是自定义...

    使用hibernate分页查询

    在Java Web开发中,Hibernate...通过上述方式,你可以实现使用Hibernate进行分页查询,并在JSP页面中展示分页结果,同时提供分页导航功能。请注意,这只是一个基础示例,实际项目中可能需要考虑更多的细节和优化措施。

    ExtJs4.2+Mysql+Struts2+Hibernate3实现分页查询

    ExtJs4.2+Mysql+Struts2+Hibernate3实现分页查询 1.libs目录缺少hibernate核心jar包 2.libs目录缺少struts jar 3.WebRoot目录缺少ExtJs4.2核心类库 以上信息我都在项目里面注明了,因为这些内容的文件太大了,CSDN不...

    Hibernate中分页查询的封装。

    在Java开发中,Hibernate作为一款流行的ORM(对象关系映射)框架,极大地简化了数据库操作。在处理大数据量时,为了提高性能和用户体验,通常会采用分页查询...在项目开发中,可以根据具体需求选择适合的分页实现方式。

    在JDBC,hibernate中实现分页

    #### Hibernate中的分页实现 在Hibernate框架中实现分页功能相对较为简单。通过`Query`对象提供的方法即可轻松完成。 ##### 示例代码解析 ```java Query query = session.createQuery("from Student"); query....

    hibernate jsp 分页Demo

    【hibernate jsp 分页Demo】是一个演示项目,展示了如何在Java Web应用程序中使用Hibernate框架结合JSP页面实现数据库查询的分页功能。在这个项目中,开发人员使用了MySQL作为后端数据库,通过Hibernate ORM工具与...

Global site tag (gtag.js) - Google Analytics