`

Hibernate oracle 分页 三层分页原理

阅读更多
用习惯的hibernate 更加的忽略底层,现在连数据库怎么分页都记住不了。

oracle 三层分页原理

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 <= ?");
}
查询21 - 40 条记录
1.pagingSelect.append(sql); 这段内容是我们自己的业务语句
2.pagingSelect.append(" ) row_ where rownum <= ? 查找到40条以内记录
3.>?查询到大于21条记录

这种查询在绝大多数拥有较高的查询效率,由于CBO优化器 基于成本的优化器为了提高SQL语句的执行效率,会把外层的条件拿到内部去执行,这样二层rownum<40 的记录如果不满足就直接返回
0
1
分享到:
评论

相关推荐

    struts2.0 + hibernate + oracle 分页问题

    Struts2.0、Hibernate和Oracle的整合是Java Web开发中的常见组合,它们分别负责表现层、持久层和数据存储层。在这个项目中,我们关注的是分页问题,这是一个优化用户体验,提高系统性能的重要功能。分页使得大量数据...

    Hibernate分页查询原理解读

    #### 三、Hibernate分页查询实现原理 ##### 3.1 使用SQL LIMIT实现分页 对于支持LIMIT关键字的数据库(例如MySQL),Hibernate会通过特定的方言(Dialect)来生成包含LIMIT关键字的SQL语句。具体实现如下: ```...

    oracle分页查询

    常用的 Oracle 分页查询方法有三种:使用 ROWNUM、使用 ROW_NUMBER() 和使用子查询。 第一种方法:使用 ROWNUM Oracle 的 ROWNUM 函数可以用来实现分页查询。基本格式如下: ```sql SELECT * FROM (SELECT A.*,...

    ssh+oracle分页

    在“ssh+oracle分页”这个主题中,我们将深入探讨如何利用这三个框架与Oracle数据库进行集成,并实现数据的分页显示。 1. **Struts框架**:Struts是一个基于MVC(Model-View-Controller)设计模式的Java Web框架。...

    oracle 分页完整代码

    在Oracle数据库中,分页查询是一项非常常见的操作,特别是在处理大量数据时,为了提高用户体验,我们需要将结果集分块加载,这就是所谓的分页。在这个Java和Oracle结合的分页实现中,我们将探讨如何通过Java后端配合...

    Oracle的SQL分页实践

    在Oracle数据库中,SQL分页是一种非常...总的来说,Oracle的SQL分页实践涉及到数据库查询优化、索引策略以及Java应用程序中的数据访问层设计。理解并熟练运用这些方法,能帮助开发者构建高效、响应迅速的数据驱动应用。

    spring mvc实现Oracle分页

    本项目着重讲解如何在Spring MVC环境中,结合JDBC技术,实现对Oracle数据库的分页查询功能,并通过Ajax进行动态加载,提升用户体验。此外,我们还将涉及LigerUI和jEditable两个前端库,以增强用户界面和交互性。 ...

    SSH+ORACLE好用分页

    SSH是指Spring、Struts和Hibernate这三个开源框架的组合,它们在Java Web开发中被广泛应用。Oracle则是一款强大的关系型数据库管理系统,广泛用于大型企业级应用。当我们将SSH与Oracle结合使用时,可以构建出高效、...

    毕业设计jsp+Sturts+hibernate的添删改查以及分页!采用Oracle数据库

    在本项目中,"毕业设计jsp+Sturts+hibernate的添删改查以及分页!采用Oracle数据库" 是一个基于Web的新闻管理系统,它利用了Java Web技术栈中的核心组件,包括JSP(JavaServer Pages)、Struts、Hibernate,以及...

    hibernate分页查询

    一、Hibernate分页原理 Hibernate分页查询基于SQL的LIMIT和OFFSET子句,通过Session的createQuery或createSQLQuery方法创建查询,并设置FirstResult和MaxResults属性来实现分页。FirstResult表示从结果集的第几个...

    java连接Oracle分页显示

    在实际项目中,可能需要封装成DAO(Data Access Object)层或使用ORM框架如Hibernate、MyBatis等来提高代码的可维护性和复用性。 在OracleAdd_Show这个压缩包文件中,可能包含了实现这些功能的相关代码或示例,你...

    hibernate的分页查询

    而在Oracle数据库中,由于不支持直接的`LIMIT`语句,`Oracle9Dialect`会通过嵌套查询和`rownum`来实现分页: ```java public String getLimitString(String sql) { StringBuffer pagingSelect = new StringBuffer...

    JAVA_JDBC面向对象分页(初步设计二之oracle)

    本篇文章将重点讨论如何使用Java JDBC和Oracle数据库实现面向对象的分页查询。 首先,我们需要了解面向对象编程的基本概念。面向对象编程(Object-Oriented Programming, OOP)是一种编程范式,强调用对象来表示...

    Hibernate+Struts2+Spring+Oracle分页亲测

    标题中的“Hibernate+Struts2+Spring+Oracle分页亲测”揭示了这个项目或教程是关于使用四个关键的Java Web开发技术实现分页功能的。这四个技术分别是Hibernate(一个对象关系映射框架),Struts2(一个MVC框架),...

    Hibernate中的query 分页.doc

    在Java的持久化框架Hibernate中,分页查询是常见的需求,尤其在处理大量数据时,为了提高用户体验,分页展示数据至关重要。本文将探讨Hibernate中两种主要的分页方式:`query.scroll()`和使用`query.setFirstResult...

    SSH+ORACLE通用分页

    SSH是指Spring、Struts和Hibernate这三个开源框架的组合,常用于构建Java Web应用程序。而Oracle则是一款功能强大的关系型数据库管理系统,广泛应用于大型企业级应用。当这两者结合时,通常是为了实现数据的高效管理...

    oracle-jdbc分页实现(只需传入sql语句即可实现分页)

    Oracle JDBC分页实现是数据库操作中的一个重要环节,尤其是在处理大量数据时,为了提高用户体验和系统性能,分页查询显得尤为重要。Oracle数据库提供了多种方法来实现分页查询,其中包括使用ROWNUM伪列、游标...

    ssh Struts2.2+Hibernate3.6+Spring3.1+oracle 分页示例.zip

    在这个"ssh Struts2.2+Hibernate3.6+Spring3.1+oracle 分页示例.zip"压缩包中,开发者提供了一个使用这些技术实现的分页功能示例。下面将详细介绍SSH框架以及Oracle数据库的分页技术。 **Struts2** 是一个基于MVC...

    HIbernate与oracle数据库应用例子

    三、Hibernate与Oracle的集成 1. 配置Hibernate - `hibernate.cfg.xml`配置文件:在其中设置Oracle数据库的相关参数,包括JDBC驱动类、URL、用户名和密码。 - `pom.xml`(Maven项目)或`build.gradle`(Gradle项目...

    myeclise+oracle分页

    【标题】"myeclipse+oracle分页"涉及的关键知识点主要集中在两个方面:MyEclipse集成开发环境和Oracle数据库的分页查询技术。下面将详细阐述这两个方面的内容。 首先,MyEclipse是一款强大的Java集成开发环境(IDE...

Global site tag (gtag.js) - Google Analytics