[/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中定义Action类来接收用户的翻页请求,并通过Hibernate进行数据查询。具体步骤如下: 1. **定义PageTool类** 在Struts2中,我们通常会定义一个PageTool类来封装分页所需的信息...
### 使用Hibernate实现分页查询 #### 一、分页查询概念及原理 分页查询是一种在数据量较大的情况下,为了提高用户体验和系统性能而采取的一种技术手段。它将查询结果分成若干页显示,用户可以通过翻页操作查看不同...
这样的分页实现保证了数据的高效加载和用户的流畅体验,同时充分利用了Struts的控制层和Hibernate的数据访问层能力,降低了开发复杂度。在实际项目中,还可以考虑优化如缓存、懒加载等策略来进一步提高性能。
一、Hibernate分页基础 1. Hibernate的Query和Criteria API都提供了分页功能。使用`setFirstResult()`方法设置查询开始的位置,即第几条记录,以及`setMaxResults()`方法设置一次返回的最大记录数,这两者结合即可...
java+hibernate实现分页 public String execute() throws Exception { System.out.println("Page:" + page); pagePlanList = ps.findPlantByPage(page, rowsPerPage); totalPage = ps.getPlanTotalPage...
在"Struts + Hibernate 分页实现"这个项目中,重点在于如何在Web应用中整合这两个框架,并实现数据的分页显示。分页是大型数据集处理时常见的需求,它能够帮助用户更有效地浏览和管理大量信息,避免一次性加载所有...
### Hibernate分页基础 1. **Criteria API**:Hibernate的Criteria API允许我们创建动态查询,同时也支持分页。通过设置`setFirstResult()`和`setMaxResults()`方法,可以实现分页效果。例如: ```java Criteria ...
hibernate_mysql_struts2 实现的通用分页类.欢迎指正
通过上述步骤,我们成功实现了利用Hibernate进行分页查询的功能。这种做法不仅提高了系统的响应速度,还增强了用户体验。在实际开发过程中,根据具体需求选择合适的分页策略对于提升整体应用性能至关重要。此外,在...
在分页实现中,Spring可以管理Struts的Action类以及Hibernate的数据访问对象(DAO)。通过Spring的IOC(Inversion of Control,控制反转),我们可以将DAO的实例注入到Action中,使得Action无需关心DAO的具体创建...
根据提供的标题、描述以及部分内文,我们可以梳理出关于如何使用Struts2与Hibernate实现分页功能的关键知识点。 ### Struts2与Hibernate简介 - **Struts2**:这是一个基于MVC架构的开源Web框架,它能帮助开发者...
本文将深入探讨如何利用Spring和Hibernate实现完整的分页功能,并结合MySQL数据库进行操作。 首先,Spring是一个轻量级的框架,它提供了全面的DI服务,允许开发者通过XML配置或注解来管理对象的生命周期和依赖关系...
通过上述步骤,我们已经成功地使用Struts2和Hibernate实现了分页功能。在实际开发中,可能还需要考虑性能优化,如缓存策略、查询优化等。对于初学者来说,理解并实践这个过程是掌握Java Web开发的重要一环。不断学习...
`Pagehelp.java`可能包含一个静态方法,接受Hibernate的Session对象、查询条件、每页大小和当前页数作为参数,内部会使用Criteria或HQL进行分页查询并返回一个封装了查询结果和分页信息的对象。这个对象可能是自定义...
在Java Web开发中,Hibernate...通过上述方式,你可以实现使用Hibernate进行分页查询,并在JSP页面中展示分页结果,同时提供分页导航功能。请注意,这只是一个基础示例,实际项目中可能需要考虑更多的细节和优化措施。
ExtJs4.2+Mysql+Struts2+Hibernate3实现分页查询 1.libs目录缺少hibernate核心jar包 2.libs目录缺少struts jar 3.WebRoot目录缺少ExtJs4.2核心类库 以上信息我都在项目里面注明了,因为这些内容的文件太大了,CSDN不...
在Java开发中,Hibernate作为一款流行的ORM(对象关系映射)框架,极大地简化了数据库操作。在处理大数据量时,为了提高性能和用户体验,通常会采用分页查询...在项目开发中,可以根据具体需求选择适合的分页实现方式。
#### Hibernate中的分页实现 在Hibernate框架中实现分页功能相对较为简单。通过`Query`对象提供的方法即可轻松完成。 ##### 示例代码解析 ```java Query query = session.createQuery("from Student"); query....
【hibernate jsp 分页Demo】是一个演示项目,展示了如何在Java Web应用程序中使用Hibernate框架结合JSP页面实现数据库查询的分页功能。在这个项目中,开发人员使用了MySQL作为后端数据库,通过Hibernate ORM工具与...