`
hkliya
  • 浏览: 85728 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hibernate分页代码

    博客分类:
  • j2ee
阅读更多
	public String getLimitString(String sql, boolean hasOffset) {
		
		sql = sql.trim();
		boolean isForUpdate = false;
		if ( sql.toLowerCase().endsWith(" for update") ) {
			sql = sql.substring( 0, sql.length()-11 );
			isForUpdate = true;
		}
		
		StringBuffer pagingSelect = new StringBuffer( sql.length()+100 );
		if (hasOffset) {
			pagingSelect.append("select * from ( select row_.*, rownum rownum_ from ( ");
		}
		else {
			pagingSelect.append("select * from ( ");
		}
		pagingSelect.append(sql);
		if (hasOffset) {
			pagingSelect.append(" ) row_ where rownum <= ?) where rownum_ > ?");
		}
		else {
			pagingSelect.append(" ) where rownum <= ?");
		}

		if (isForUpdate) pagingSelect.append(" for update");
		
		return pagingSelect.toString();
	}


代码来自:org.hibernate.dialect.Oracle9Dialect
这里写两个if(hasOffset)是什么道理呢
是不是可以改成:
	if (hasOffset) {
		pagingSelect.append("select * from ( select row_.*, rownum rownum_ from ( ");
		pagingSelect.append(sql);
		pagingSelect.append(" ) row_ where rownum <= ?) where rownum_ > ?");
	}
	else {
		pagingSelect.append("select * from ( ");
		pagingSelect.append(sql);
		pagingSelect.append(" ) where rownum <= ?");
	}
分享到:
评论

相关推荐

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

    在Web开发中,分页显示是一项常见的需求,尤其是在处理大量数据时,为了提高用户体验和系统...通过合理地设计DAO层和业务层,以及创建专门的分页类,我们可以轻松实现复杂的数据分页,同时保持代码的清晰和可维护性。

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

    下面是一个简化的示例代码片段,展示了如何在Struts2和Hibernate中实现分页功能: ```java // PageTool类定义 public class PageTool { private int pageNum; // 当前页码 private int pageSize; // 每页显示记录...

    Hibernate+Servlet+jsp实现分页

    在分页实现中,Hibernate提供了Criteria API或HQL(Hibernate Query Language)来执行带有分页条件的查询。例如,我们可以使用`Criteria`的`setFirstResult()`和`setMaxResults()`方法来指定要获取数据的起始位置和...

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

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

    Struts + Hibernate 分页实现

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

    hibernate分页java代码

    hibernate分页java代码,方法已经写好,但是在调用之前请先研究一下其中的参数。

    hibernate分页查询 数据库连接

    此外,优化查询,避免N+1查询问题,合理设计实体关系,都能有效提升Hibernate分页查询的效率。 总结起来,Hibernate的分页查询和数据库连接管理是其强大功能的重要组成部分。正确理解和使用这些特性,能够帮助...

    spring+hibernate 分页 +mysql

    这个名为"testhibernate1"的压缩包文件可能包含了实现上述分页功能的代码示例,包括Spring配置文件、实体类、DAO、Service、以及可能的测试用例。通过对这些文件的分析和学习,开发者可以更好地理解和应用Spring、...

    分页代码 重分页代码

    在这个场景中,"分页代码 重分页代码" 指的是在SSH框架下实现分页功能的代码,并且强调了代码的复用性,即在一个工程中只需要一个公共的分页类。 分页的目的是为了提高用户体验,避免一次性加载大量数据导致页面...

    Struts和Hibernate分页及查询

    在"Struts+Hibernate分页及条件查询练习"这个项目中,开发者可能采用了以下步骤: 1. **配置Struts和Hibernate**:首先,需要在项目中引入Struts和Hibernate的相关库,配置Struts的struts-config.xml文件和...

    hibernate实现分页

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

    Hibernate分页封装

    下面是一个简单的Hibernate分页封装的示例代码: ```java public class Happer extends HibernateDaoSupport { private int p; //当前页 private int size; //一页分多少条 private int nextPage; //下一页 ...

    使用hibernate分页查询

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

    hibernate经典分页源代码

    综上所述,`hibernate经典分页源代码` 涉及到的技术点包括 Hibernate 的 Criteria API 和 HQL 分页,以及在 Struts 框架中使用 JSP 进行服务器端分页。通过理解并实践这些知识,开发者能够创建高效且易于维护的分页...

    Struts+Hibernate实现分页

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

    完整Struts2 HIBERNATE实现分页

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

    关于Hibernate分页类和jdbc的sql分页完美融合

    本主题将探讨如何在Hibernate分页类和JDBC的SQL分页方法之间实现完美的融合,以提高性能并提供更好的用户体验。 首先,让我们了解一下Hibernate的分页功能。Hibernate提供了一种方便的方式来处理分页查询,通过...

    用Hibernate实现分页查询.docx

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

    Hibernate 分页查询效果

    本篇主要围绕"Hibernate分页查询效果"这一主题,深入探讨如何利用Hibernate框架实现高效、便捷的分页功能。 首先,Hibernate是一个优秀的Java持久化框架,它提供了ORM(对象关系映射)解决方案,使得开发者可以使用...

Global site tag (gtag.js) - Google Analytics