`

JDBC利用游标分页查询

sql 
阅读更多
/**
  * 一次只从数据库中查询最大maxCount条记录
  * @param sql 传入的sql语句
  * @param startNo 从哪一条记录开始
  * @param maxCount 总共取多少条记录
  */
 public void getData(String sql,int startNo,int maxCount){
  Connection conn = ConnectionUtil.getConnection();
  try {
//   conn.prepareStatement(sql,游标类型,能否更新记录);
//      游标类型:
//       ResultSet.TYPE_FORWORD_ONLY:只进游标
//       ResultSet.TYPE_SCROLL_INSENSITIVE:可滚动。但是不受其他用户对数据库更改的影响。
//       ResultSet.TYPE_SCROLL_SENSITIVE:可滚动。当其他用户更改数据库时这个记录也会改变。
//      能否更新记录:
//       ResultSet.CONCUR_READ_ONLY,只读
//       ResultSet.CONCUR_UPDATABLE,可更新
   PreparedStatement pstat = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
   //最大查询到第几条记录
   pstat.setMaxRows(startNo+maxCount-1);
   ResultSet rs = pstat.executeQuery();
   //将游标移动到第一条记录
   rs.first();
//   游标移动到要输出的第一条记录
   rs.relative(startNo-2);
   while(rs.next())
    System.out.println(rs.getInt(1));
  } catch (SQLException e) {
   e.printStackTrace();
  }
 }
 
 /**
  * 从数据库中查询所有记录,然后通过游标来获取所需maxCount条记录
  * @param sql 传入的sql语句
  * @param startNo 从哪一条记录开始
  * @param maxCount 总共取多少条记录
  */
 public void getDataFromAll(String sql,int startNo,int maxCount){
  Connection conn = ConnectionUtil.getConnection();
  try {
   PreparedStatement pstat = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
   ResultSet rs = pstat.executeQuery();
   rs.first();
   rs.relative(startNo-1);
   int i = startNo-1;
   while(i < startNo + maxCount-1 && !rs.isAfterLast()){
    System.out.println(rs.getInt(1));
    i++;
    rs.next();
   }
  } catch (SQLException e) {
   e.printStackTrace();
  }
 } 



http://www.blogjava.net/supercrsky/articles/221755.html
分享到:
评论

相关推荐

    JDBC使用游标实现分页查询的方法

    本篇文章将详细介绍如何利用JDBC和游标实现分页查询,并通过两个示例代码进行解析。 1. **游标类型** - ResultSet.TYPE_FORWARD_ONLY:这是默认的游标类型,只能向前遍历结果集,不可滚动,效率较高。 - ...

    jdbcTemplate分页彻底解决,使用游标滚动

    下面是一个使用`JdbcTemplate`进行游标分页的基本步骤: 1. **创建存储过程**:在数据库中,创建一个存储过程,返回一个游标。这个存储过程应该接受分页参数,如当前页和每页记录数。 2. **定义`...

    jdbc+serlvet分页查询代码

    总结,"jdbc+serlvet分页查询代码"是Java Web开发中一个常见的应用场景,它展示了如何利用JDBC进行数据库操作,以及Servlet如何处理HTTP请求并返回动态生成的页面,同时包含了实现简单分页查询的策略。通过这个示例...

    sturts+oracle+jdbc实现分页

    在IT行业中,数据库管理和数据检索是至关重要的环节,...通过编写Action类处理请求,利用Oracle的ROWNUM进行分页查询,并通过JDBC接口与数据库交互,最后通过分页模型类管理和展示数据,从而实现高效、易用的分页功能。

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

    Oracle JDBC分页实现是数据库操作中的一个重要环节,尤其是在处理大量数据时,为了...总之,Oracle JDBC分页实现涉及SQL查询语句的设计和Java代码的配合,合理利用Oracle的特性可以有效地实现高效、灵活的分页功能。

    采用JDBC进行数据库分页查询

    一次只从数据库中查询最大maxCount条记录 * @param sql 传入的sql语句 * @param startNo 从哪一条记录开始 * @param maxCount 总共取多少条记录 */ public void getData(String sql,int startNo,int maxCount){ ...

    oracle采用jdbc连接方式分页

    - **游标处理**:Oracle还支持游标(Cursor)进行分页,这在处理复杂查询时更高效。 - **连接池**:在大型应用中,使用连接池(如C3P0、HikariCP等)管理数据库连接,提高性能和资源利用率。 - **批处理**:如果需要...

    利用PLSQL实现分页查询代码.rar

    **利用游标变量实现分页查询.txt** 游标是PL/SQL中处理单个结果集行的一种方法,它可以用于分页查询。首先,我们需要创建一个游标变量来存储查询结果,然后在循环中按页处理这些结果。以下是一个基本的分页查询示例...

    jdbc入门、分页以及事务

    3. **游标分页**: 如果不支持LIMIT或ROWNUM,可以通过保存上次查询的最后一个记录的ID,然后在下次查询时作为条件,以实现分页。 **JDBC事务** 事务是数据库操作的基本单元,确保数据的一致性和完整性。JDBC提供了...

    jdbc分页实例sqlserver2000

    标题中的“jdbc分页实例sqlserver2000”指的是使用Java Database Connectivity (JDBC) API来实现数据库分页查询的示例,特别是在SQL Server 2000这个特定的数据库管理系统上。JDBC是Java中用于与各种类型数据库交互...

    JDBC分页

    本文将深入探讨JDBC(Java Database Connectivity)如何实现分页查询,以供初学者参考。 ### 1. 分页的基本概念 分页是将大量数据分成若干页进行展示的技术。每一页包含一定数量的数据记录,用户可以通过页码或...

    sybase分页代码使用jdbc分页速度快适合大数据

    总的来说,利用JDBC实现Sybase数据库的分页查询,关键在于巧妙地结合游标、缓存和线程安全,以达到高效和快速的效果。对于大数据场景,这样的方法尤其适用,尤其是在首次加载后,后续翻页几乎可以实现瞬间完成。当然...

    如何避免JDBC引起的内存溢出情况

    可以通过设置`oracle.jdbc.fetchDirection=oracle.jdbc.OracleFetchDirection.FETCH_FORWARD`来控制游标的读取方向,并通过`oracle.jdbc.fetchSize`属性来指定每次获取的行数。 #### 三、通用的最佳实践 除了针对...

    oracle数据库级分页(java)

    总之,Oracle数据库级分页结合Java的JDBC可以有效地处理大数据量的查询,而数据源的使用则有助于优化数据库连接管理,提升整体系统的稳定性和效率。理解并熟练掌握这些技术,对于Java开发者来说是至关重要的。

    JDBC分页 absolute实现

    在Java数据库连接(JDBC)中,分页查询是一种常用的技术,用于从大量数据中提取特定部分,提高应用性能并优化用户体验。"JDBC分页 absolute实现" 主要指的是使用`Statement`或`PreparedStatement`对象的`absolute()`...

    关于JDBC数据分页跨数据库小结.rar

    JDBC数据分页的实现通常有两种方式:一是通过SQL语句直接实现,二是通过数据库API或者游标(Cursor)来实现。 1. SQL语句实现分页: - MySQL:使用`LIMIT`和`OFFSET`关键字,例如`SELECT * FROM table LIMIT page_...

    java开发之Jdbc分页源码详解

    Java开发之JDBC分页源码详解是指在Java开发中使用JDBC(Java Database Connectivity)来实现数据库的分页查询。下面将详细介绍JDBC分页源码的实现细节。 JDBC分页查询的必要性 在实际开发中,我们经常需要从数据库...

    分页查询研究

    在"源码"这个标签下,我们可以了解到,分页查询的实现往往涉及到数据库操作层的代码,比如Java中的JDBC,ORM框架如MyBatis或Hibernate,它们提供了对分页查询的封装。开发者需要了解这些框架如何设置分页参数,以及...

Global site tag (gtag.js) - Google Analytics