`
danielhjd
  • 浏览: 246320 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

(Spring&Hibernate )Spring & Hibernate的整合分页问题之一:代码部分

    博客分类:
  • JDBC
阅读更多

list.jsp的分页跳转的代码:

 <tr align="center">
    	<td colspan="7">
    		共<s:property value="totalRows"/>行&nbsp;
    		第<s:property value="currentPage"/>页&nbsp;
                     <%-- 共<s:property value="totalPages"/>页&nbsp;%>
                 共<s:property value="pager.getTotalPages()"/>页&nbsp;
    		<a href="<s:url value="listBuyGoods.action">
    			<s:param name="currentPage" value="currentPage"/>
    			<s:param name="pagerMethod" value="'first'"/>	
    		</s:url>">首页</a>
    		
    		<a href="<s:url value="listBuyGoods.action">
    			<s:param name="currentPage" value="currentPage"/>
    			<s:param name="pagerMethod" value="'previous'"/>
    		</s:url>">上一页</a>
    		
    		<a href="<s:url value="listBuyGoods.action">
    			<s:param name="currentPage" value="currentPage"/>
    			<s:param name="pagerMethod" value="'next'"/>
    		</s:url>">下一页</a>
    		
    		<a href="<s:url value="listBuyGoods.action">
    			<s:param name="currentPage" value="currentPage"/>
    			<s:param name="pagerMethod" value="'last'"/>
    		</s:url>">尾页</a>
    	</td>
    </tr>	

 

list.action的代码:

public String list(){
		this.setTotalRows(String.valueOf(this.buygoodsDao.getRows()));
		System.out.println(this.getTotalRows());
		System.out.println(this.getCurrentPage());
		System.out.println(this.getPagerMethod());
		this.pager = this.pageService.getPager(this.getCurrentPage(), this.getPagerMethod(), Integer.parseInt(this.getTotalRows()));
//		System.out.println("---test---");		System.out.println(this.getTotalRows());		
		this.setCurrentPage(String.valueOf(pager.getCurrentPage()));
//		this.setTotalPages(String.valueOf(pager.getTotalPages()));
		this.setBuygoods(this.buygoodsDao.getPageAllBuyGoods(pager.getPageSize(),pager.getStartRow()));

		
//		Iterator it=this.buygoods.iterator();
//			while(it.hasNext()){
//				EbayBuygoods ee=(EbayBuygoods)it.next();
//				System.out.println(ee.getBName());
//			}
		return "success";	

Hibernate 代码:

	public List getPageAllBuyGoods(int pageSize, int startRow) {
		final int pageSize1= pageSize;
		final int startRow1= startRow;	
		return this.getHibernateTemplate().executeFind(new HibernateCallback(){

			public List doInHibernate(Session session)
					throws HibernateException, SQLException {
				    Query query=session.createQuery("from EbayBuygoods a order by a.BId desc");
				    query.setFirstResult(startRow1);
				    query.setMaxResults(pageSize1);
				return query.list();
			}});
	}

 

 The Codes of Class Pager & PagerService:

package com.dgy.util;

import java.math.*;

public class Pager {
	private int totalRows; //总行数
	private int pageSize = 3; //每页显示的行数
	private int currentPage; //当前页号
	private int totalPages; //总页数
	private int startRow; //当前页在数据库中的起始行
	
	public Pager() {
	}
	
	public Pager(int _totalRows) {
		totalRows = _totalRows;
		totalPages=totalRows/pageSize;
		int mod=totalRows%pageSize;
		if(mod>0){
			totalPages++;
		}
		currentPage = 1;
		startRow = 0;
	}
	
	public int getStartRow() {
		return startRow;
	}
	public int getTotalPages() {
		return totalPages;
	}
	public int getCurrentPage() {
		return currentPage;
	}
	public int getPageSize() {
		return pageSize;
	}
	public void setTotalRows(int totalRows) {
		this.totalRows = totalRows;
	}
	public void setStartRow(int startRow) {
		this.startRow = startRow;
	}
	public void setTotalPages(int totalPages) {
		this.totalPages = totalPages;
	}
	public void setCurrentPage(int currentPage) {
		this.currentPage = currentPage;
	}
	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}
	public int getTotalRows() {
		return totalRows;
	}
	public void first() {
		currentPage = 1;
		startRow = 0;
	}
	public void previous() {
		if (currentPage == 1) {
			return;
		}
		currentPage--;
		startRow = (currentPage - 1) * pageSize;
	}
	public void next() {
		if (currentPage < totalPages) {
			currentPage++;
		}
		startRow = (currentPage - 1) * pageSize;
	}
	public void last() {
		currentPage = totalPages;
		startRow = (currentPage - 1) * pageSize;
	}
	public void refresh(int _currentPage) {
		currentPage = _currentPage;
		if (currentPage > totalPages) {
			last();
		}
	}
}

 

package com.dgy.util;

public class PagerService {
	public Pager getPager(String currentPage,String pagerMethod,int totalRows) {
//		System.out.println("test pageservice");
		//	定义pager对象,用于传到页面
		Pager pager = new Pager(totalRows);
		//	如果当前页号为空,表示为首次查询该页
		//	如果不为空,则刷新pager对象,输入当前页号等信息
		if (currentPage != null) {
			pager.refresh(Integer.parseInt(currentPage));
		}
		//	获取当前执行的方法,首页,前一页,后一页,尾页。
		if (pagerMethod != null) {
			if (pagerMethod.equals("first")) {
				System.out.println("test first");
				pager.first();
			} else if (pagerMethod.equals("previous")) {
				pager.previous();
			} else if (pagerMethod.equals("next")) {
				pager.next();
			} else if (pagerMethod.equals("last")) {
				pager.last();
			}
		}
//		System.out.println("test pageservice end");
		return pager;
	}
}

 

 

分享到:
评论

相关推荐

    struts spring hibernate 登陆 SSH整合分页功能

    struts spring hibernate 登陆 SSH整合分页功能 SSH整合分页struts spring hibernate 登陆 SSH整合分页功能 SSH整合分页struts spring hibernate 登陆 SSH整合分页功能 SSH整合分页

    struts hibernate spring 分页ssh分页

    综上所述,SSH分页是Java企业级开发中的一个重要技术,它涉及到了Struts的控制层、Hibernate的数据访问层和Spring的整合及服务层,是提升应用性能和用户体验的关键手段之一。通过熟练掌握SSH分页,开发者可以更高效...

    Struts2,Spring与Hibernate整合应用,学生成绩管理系统

    本项目聚焦于Struts2、Spring与Hibernate三大框架的整合应用,旨在构建一个高效、稳定、易于维护的学生成绩管理系统。通过整合这三个框架,系统能够实现用户登录、学生信息管理、学生成绩管理及分页显示等功能。以下...

    struts2+spring+hibernate分页显示完整代码

    本篇文章将详细讲解如何在基于Struts2、Spring和Hibernate的项目中实现分页功能。 首先,我们从DAO层开始。在`MemberDao`接口中,我们定义了两个关键的方法,一个是用于分页查询,另一个是获取所有记录的数量。这两...

    springMVC+spring+hibernate+jquery分页完整项目,完整代码

    本项目是一个基于SpringMVC、Spring、Hibernate和jQuery的完整分页应用,涵盖了后端服务、数据持久化、前端交互等多个重要技术领域。下面将详细解释这些技术及其在项目中的应用。 1. SpringMVC:SpringMVC是Spring...

    MyClipse6.0\Struts2,Spring与Hibernate整合应用,学生成绩管理系统

    本项目“学生成绩管理系统”就是基于Struts2、Spring和Hibernate三大主流Java Web框架进行整合的一个实例。这样的整合能够充分利用各框架的优势,实现模型-视图-控制器(MVC)架构,提供数据持久化、业务逻辑处理...

    Spring+Hibernate完整分页

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

    spring+hibernate 分页 +mysql

    这里我们讨论的是结合Spring、Hibernate和MySQL实现的分页功能,这是一个常见的技术栈组合,广泛应用于Web应用开发。 Spring是一个开源的Java框架,它提供了全面的编程和配置模型,用于构建企业级应用。Spring的IoC...

    spring+hibernate+c标签分页+mysql

    "spring+hibernate+c标签分页+mysql"组合,意味着开发者利用Spring作为整体架构,通过Hibernate进行数据持久化,同时使用了JSP中的C标签(JSTL Core Library)来实现前端页面的分页功能,并将所有这些集成在一个...

    基于spring+hibernate的组合查询+分页组件

    以下是一个简单的示例,展示如何在Spring和Hibernate中实现组合查询和分页: ```java @Service public class UserService { @Autowired private SessionFactory sessionFactory; public Page&lt;User&gt; ...

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

    根据提供的标题、描述、标签及部分内容,我们可以了解到这篇文章主要探讨的是如何在Struts2与Hibernate框架结合下实现分页功能。接下来将详细解析Struts2与Hibernate如何协作完成这一任务。 ### Struts2与Hibernate...

    JSF+Spring+Hibernate 分页显示

    同时,Spring的数据层服务可以整合Hibernate,实现对数据库的高效操作。 **Hibernate ORM** Hibernate是一个强大的对象关系映射(ORM)工具,它可以将Java对象与SQL数据库表进行映射,简化数据库操作。在分页时,...

    spring+struts2+hibernate整合实现分页

    在这个项目中,“spring+struts2+hibernate整合实现分页”是一个基础教程,旨在帮助初学者理解如何在SSH框架下实现数据的分页展示。下面将详细讲解这个主题中的关键知识点。 1. **Spring框架**:Spring是Java应用的...

    struts,spring,hibernate整合增删改查以及分页功能

    struts,spring,hibernate整合增删改查以及分页功能

    springMVC + spring + hibernate 整合的管理系统小案例

    下载后请修改数据库用户名和密码,即springAnnotation-hibernate.xml...分页显示,编辑更新,多行删除等更功能,使用了MVC设计模式,结构清晰明了,适合初学者, 入口地址:http://localhost:8080/mvcDemo/user/turnadd

    Spring+SpringMVC +Hibernate 整合

    Spring、SpringMVC和Hibernate是Java开发中三大核心框架,它们的整合是企业级Web应用的常见架构选择。Spring作为基础框架,提供了依赖注入(DI)和面向切面编程(AOP)等功能;SpringMVC则负责处理HTTP请求,实现...

    Struts+Spring+Hibernate开发实例 (SSH整合)

    通过理解Struts、Spring和Hibernate的原理及其相互关系,开发者可以将它们高效地组合起来,形成一个以Spring为核心,Struts为表现层,Hibernate为数据访问层的架构。这个案例的实现有助于深入理解SSH整合的实际运用...

    spring Spring MVC Hibernate 4.x 整合案例

    在这个整合案例中,我们将看到如何配置Spring、Spring MVC和Hibernate,以实现一个包含增删查改(CRUD)功能的应用。首先,你需要设置项目的基本结构,创建相应的目录和文件,如src/main/java用于存放Java源代码,...

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

    综上所述,通过Struts处理用户请求,Spring管理组件和事务,以及Hibernate处理数据库操作,我们可以构建出一个高效、可扩展的分页应用。在这个过程中,Eclipse作为开发环境,提供对Spring和Hibernate的支持,帮助...

    springmvc+hibernate+spring maven案例(包含分页查询)

    总的来说,这个案例提供了一个完整的Java Web开发实践,通过整合Spring MVC、Hibernate和Spring,展示了如何处理HTTP请求,如何使用ORM进行数据库操作,以及如何实现分页功能。对于初学者来说,这是一个很好的学习...

Global site tag (gtag.js) - Google Analytics