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

JDBC中的几种结果集ResultSet,RowSet[z]

    博客分类:
  • java
阅读更多

ResultSet,RowSet
获得可滚动的结果集:
Statement stat = conn.createStatement(
    ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY
);

获得可更新的结果集:

Statement stat = conn.createStatement(
    ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATE
);

ResultSet中的Type取值:
TYPE_FORWARD_ONLY                     不可滚动
TYPE_SCROLL_INSENSITIVE            结果集可滚动,但对数据库变化不敏感
TYPE_SCROLL_SENSITIVE               结果集可滚动,但对数据库变化敏感

ResultSet中的Concurrency取值:
CONCUR_READ_ONLY                       结果集不能用于更新数据库
CONCUR_UPDATEABLE                    结果集可以用于更新数据库


 元数据的概念

通过java.sql.DatabaseMetaData可以获取数据库结构和表的详细信息。


可滚动的结果集虽然强,但交换过程,必须始终与数据库保持连接。如果一个操作要持续很久,则占用了宝贵的数据库连接资源。这时可以考虑使用行集,即RowSet。

RowSet继承自ResultSet,但不必始终保持与数据库的连接。

bwl 注:

  • rs.absolute(1),rs.first(),rs.last()需要Type为TYPE_SCROLL_INSENSITIVE或者TYPE_SCROLL_SENSITIVE,如果没有声明则会抛出异常;
  • rs.next()跟Type没有关系;
分享到:
评论

相关推荐

    JdbcSql.rar_java resultset_jtable

    2. **ResultSet**: `ResultSet`是执行SQL查询后返回的结果集,它是一个接口,用于存储查询结果的行。我们可以通过迭代`ResultSet`来获取每一行的数据。每个结果行都是一个对象,可以使用`next()`方法移动到下一行,`...

    Java-JDBC【源码】实现ORM,结果集映射实体类(ResultSet、注解、反射)

    Java-JDBC【之】实现ORM,结果集映射实体类(ResultSet、注解、反射) 1.ORM实现思路 2.@Table、@Column、标识实体类 2.1.创建注解 @Table、@Column 2.2.标识实体类 2.3.数据库表 3.结果集解析,注解加反射填充实体...

    rowset

    Rowset是JDBC中的一种接口,它实现了ResultSet接口,并增加了额外的功能,如缓存、同步和事件监听。它允许数据被存储在内存中,即使没有与数据库的连接,也可以对这些数据进行操作,这提高了程序的效率和灵活性。 ...

    jdbc_rowset

    JDBC规范定义了几种不同类型的RowSet: 1. **CachedRowSet**:最常用的类型,数据存储在内存中,适合小到中等大小的数据集。它不依赖于任何数据库连接,可以进行离线操作。 2. **JoinRowSet**:允许将多个RowSet...

    如何从 Java 存储过程将 JDBC ResultSet 作为 Ref Cursor 返回.doc

    JDBC提供了一种标准的方式来访问各种数据库,包括SQL查询的执行、结果集(ResultSet)的处理等。ResultSet是JDBC中用于存储查询结果的一个接口,它表示从数据库中检索的数据集。而REF CURSOR则是PL/SQL(Oracle...

    Jsp将结果集ResultSet查询数据用表格显示出来

    Jsp将结果集ResultSet查询数据用表格显示出来

    ROWSET介绍加实例

    ROWSET是Java数据库连接(JDBC)中的一个重要概念,它是一种可以存储结果集的数据结构,类似于ResultSet,但具有更高级别的功能和效率。在Java编程中,ROWSET允许程序员在离线环境中处理数据库数据,这意味着它可以...

    com.sun.rowset.jar.zip

    RowSet,全称JDBC RowSet,是一种基于JDBC的数据容器,它是ResultSet接口的一个子类。RowSet的核心价值在于它具有离线和同步的能力,这使得它在Web应用程序和分布式环境中表现出色。与传统的ResultSet相比,RowSet...

    jdbc连接oracle字符集不同出现乱码

    在此示例中,在读取结果集时,将数据从 `ISO-8859-1` 编码转换回 `GBK` 编码,确保了数据能够在本地应用中被正确显示。 #### 总结 综上所述,当使用 JDBC 连接 Oracle 数据库并遇到字符集不同导致的乱码问题时,...

    java.sql.SQLException: 结果集已耗尽

    现在回到问题本身,当出现"结果集已耗尽"的异常,通常有以下几种情况: 1. **循环遍历结果集时未正确检查结束条件**:最常见的情况是,程序员在for-each或while循环中遍历结果集,但没有在循环条件中检查`ResultSet...

    JDBC编程resultset游标控制

    JDBC通信原理 JDBC驱动类型 JDBC构成 JDBC程序5步走 滚动的结果集 可更新的结果集 SQL数据类型对应的Java类型 事务及批量处理 行集、连接池、LDAP

    JDBC基础教程之ResultSet对象.doc )

    在SQL中,结果集的光标通常是有名字的,如果数据库支持定位更新或定位删除,那么进行这类操作时,需要使用光标的名称。`ResultSet`提供了`getCursorName()`方法来获取光标名称,但这并不意味着所有数据库管理系统...

    com.microsoft.sqlserver.jdbc.SQLServerException: 只进结果集不支持请求的操作 解决方案

    为了避免因只进结果集引发的异常,可以采取以下几种策略: #### 1. 修改查询类型 最直接的方法是在创建`Session`时指定查询结果集为可滚动类型(scrollable)。这可以通过在Hibernate配置文件中设置`hibernate....

    ResultSet 转为listmap

    在 Java 中,使用 JDBC 连接数据库时,通常会返回一个 ResultSet 对象,该对象包含了查询结果集的所有记录。为了方便数据处理和使用,我们需要将 ResultSet 转为 List,以便于后续的数据处理和展示。 下面是将 ...

    Java-JDBC【之】数据类型、封装JDBCUtil、封装通用增删改、ResultSet与ResultSetMetaData

    Java-JDBC【之】数据类型、封装JDBCUtil、封装通用增删改、ResultSet与ResultSetMetaData、查询结果集映射Map与ListMap 1.数据类型 2.封装通用增删改 2.1.封装JDBCUtil 2.2.封装Dao通用增删改 2.3.测试 3.ResultSet...

    ResultSet

    6. 结果集的状态:ResultSet有三种状态:未初始化、已移动到下一行和结束。调用next()会改变其状态,且一旦到达末尾,无法回溯到前面的行。 7. 命令类型:ResultSet的行为取决于执行的SQL命令类型。对于SELECT语句...

    SUN给出JDBC代码例子

    Java Database Connectivity(JDBC)是Java编程语言中用于与各种数据库进行交互的一种标准接口。由Sun Microsystems(现已被Oracle收购)开发并维护,JDBC提供了一组API,使得Java开发者能够方便地执行SQL语句,操作...

    封装ResultSet结果集

    封装ResultSet结果集

    java组件开发(15) JDBC操作工具类与ResultSet数据

    java组件开发(15) JDBC操作工具类与ResultSet数据

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

    在JDBC中,这通常是因为一次性加载过多的结果集到内存中导致的。例如,当执行SELECT * FROM table_name这样的查询时,如果表中的记录非常多,那么所有的结果集都会被加载到内存中,从而可能导致内存溢出。 #### 二...

Global site tag (gtag.js) - Google Analytics