`
xq30397022
  • 浏览: 13796 次
  • 性别: Icon_minigender_1
  • 来自: 天津
文章分类
社区版块
存档分类
最新评论

使用hibernate进行分页

 
阅读更多

首先创建一个PageBean,代码如下

public class Page {

private int totalpages;//总页数
private int currentpage;//当前页
private int pagesize =10;//每页显示个数(可以不写死,自由设定,根据需求而定)
private int totalrows;//总条数
private List date = new ArrayList();//当前存放对象

public Page() {
super();
// TODO Auto-generated constructor stub
}

public Page(int totalpages, int currentpage, int pagesize, int totalrows,
List date) {
super();
this.totalpages = totalpages;
this.currentpage = currentpage;
this.pagesize = pagesize;
this.totalrows = totalrows;
this.date = date;
}

public int getTotalpages() {
return this.totalrows%this.pagesize==0?this.totalrows/this.pagesize:this.totalrows/this.pagesize+1;
}

public void setTotalpages(int totalpages) {
this.totalpages = totalpages;
}

public int getCurrentpage() {
return currentpage;
}

public void setCurrentpage(int currentpage) {
this.currentpage = currentpage;
}

public int getPagesize() {
return pagesize;
}

public void setPagesize(int pagesize) {
this.pagesize = pagesize;
}

/**
* @return the totalrows
*/
public int getTotalrows() {
return totalrows;
}

public void setTotalrows(int totalrows) {
this.totalrows = totalrows;
}

public List getDate() {
return date;
}

public void setDate(List date) {
this.date = date;
}
/**
* 上一页
*/
public int getPrevPage() {
if(getCurrentpage() == 1)
return currentpage;
else
return currentpage - 1;
}
/**
* 下一页
*/
public int getNextPage() {
if(getCurrentpage()== this.totalpages)
return currentpage;
else
return currentpage + 1;
}
//第一页
public int getFirstPage(){
return 1;
}
//最后页
public int getLastPage(){
return totalpages;
}

}

Dao层处理方法有2中,第一种是hibernate独立分页,第二种是hibernate注入spring后利用getHibernateTempl()方法分页:

独立分页方法:

public page selectByPage(final int startpage, final int pagesize , String hql){

Page page = new Page();

Session ss = hibernateSessionFactory().getSessionFactory().getSession();

Query query = ss.createQuery(hql);

query.setFirstResult((startpage-1)*pagesize);

query.setMaxResults(pagesize);

page.setDate(query.list());

page.setTotalrows(query.list().size());

return page;

}

注入spring后的方法:

public Page selectBypage(final int startpage, String hql , final int pagesize) {
// TODO Auto-generated method stub
Page page = new Page();
page.setDate(getHibernateTemplate().executeFind(new HibernateCallback() {

public List<Dept> doInHibernate(Session s) throws HibernateException,
SQLException {
// TODO Auto-generated method stub
Query query = s.createQuery(hql);
query.setFirstResult((startpage-1)*pagesize);
query.setMaxResults(pagesize);
return query.list();
}
}));
int totalrows = getHibernateTemplate().find(hql).size();
page.setTotalrows(totalrows);
return page;
}

Biz层自己根据情况去写吧~

分享到:
评论

相关推荐

    hibernate分页Hibernate 分页的设计和编码

    标题与描述均提到了“Hibernate分页的设计和编码”,这表明文章主要聚焦于如何在Hibernate框架中实现数据分页功能。下面将详细解析这一主题的关键知识点。 ### Hibernate分页概念 Hibernate是Java环境下一个开放源...

    使用hibernate分页查询

    1. **配置Hibernate分页**: 在Hibernate中,我们通常使用`Criteria`或`Query` API进行分页查询。`Criteria`提供了一种更面向对象的方式来执行SQL查询,而`Query` API则对应于原生的SQL语句。在这些API中,我们可以...

    用Hibernate实现分页查询.docx

    #### 三、使用Hibernate进行分页查询 在Hibernate中,可以使用`Criteria`或`Query`接口来进行分页查询。以下是一个使用`Criteria`接口进行分页查询的示例代码: 1. **创建Session对象**: - 首先需要创建一个`...

    使用struts、hibernate进行分页处理

    使用struts、hibernate进行分页处理 使用struts、hibernate进行分页处理 使用struts、hibernate进行分页处理 使用struts、hibernate进行分页处理 使用struts、hibernate进行分页处理

    Hibernate通用分页

    "hibernatePagination"可能是与Hibernate分页相关的类库或者示例代码,用于指导如何在实际项目中实现分页。 在具体实现Hibernate分页时,主要涉及以下步骤: 1. 创建`Criteria`或`Query`对象:这是Hibernate执行...

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

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

    hibernate分页

    "Hibernate分页"就是一种解决大数据量展示的有效方法,它允许开发者以更高效、更人性化的形式来浏览和管理数据。本文将深入探讨如何在SSH(Struts2、Spring、Hibernate)集成框架下实现Hibernate的分页功能,并介绍...

    Spring+Hibernate完整分页

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

    hibernate通用分页

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

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

    "使用Struts + Spring + Hibernate完成分页笔记"这个主题涵盖了三个关键的Java EE框架:Struts、Spring和Hibernate,它们分别负责表现层、业务逻辑层和数据访问层的管理。下面将详细介绍这三个框架在分页实现中的...

    Hibernate分页查询

    总结起来,使用Hibernate进行分页查询主要涉及以下步骤: 1. 在DAO层定义分页查询方法。 2. 实现这些方法,利用Hibernate的`Query`对象设置分页参数。 3. 创建一个封装分页信息的类,如`PageBean`。 4. 在服务层和...

    java+hibernate+jsp+tld+自定义标签分页

    5. **后端处理分页**: 在Java控制器或服务层,根据请求的页码和每页大小,使用Hibernate进行分页查询,然后将结果传递给前端。 6. **前端展示**: JSP页面接收到分页数据后,通过自定义标签渲染分页链接和当前状态,...

    hibernate实现分页

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

    Struts+Hibernate实现分页

    本篇将介绍如何使用Struts和Hibernate框架来实现Web应用中的分页功能。 首先,Struts是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它负责处理用户请求并控制应用程序的流程。而Hibernate则是一...

    自己写的hibernate分页。。挺实用的

    标题“自己写的hibernate分页..挺实用的”表明我们将讨论一个自定义的Hibernate分页实现,它在实际项目中被证明是有效且实用的。Hibernate本身提供了基本的分页功能,但有时可能需要根据具体需求进行定制,以满足更...

    Hibernate中分页查询的封装。

    本文将深入探讨如何在Hibernate中进行分页查询的封装,并提供相关的源码和工具使用方法。 首先,我们需要了解Hibernate中的Criteria查询,这是实现分页查询的一种方式。Criteria API允许我们以面向对象的方式构建...

    Hibernate分页可能引起的性能问题

    Hibernate分页可能引起的性能问题 在使用Hibernate进行分页的过程中,如果你收到如下警告,那么这里就是一个潜在的性能问题点: WARNING: firstResult/maxResults specified with collection fetch; applying in ...

    完整Struts2 HIBERNATE实现分页

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

    hibernate 通用分页的实现

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

Global site tag (gtag.js) - Google Analytics