- Java 和 MySQL 教程
- Java 和 MySQL - 主页
- Java 和 MySQL - 概述
- Java 和 MySQL - 环境设置
- Java 和 MySQL - 示例代码
- Java 和 MySQL - 连接
- Java 和 MySQL - 异常
- Java 和 MySQL 语句
- Java 和 MySQL - 声明
- Java 和 MySQL - 准备语句
- Java 和 MySQL - CallableStatement
- Java 和 MySQL 结果
- Java 和 MySQL - 结果集
- Java 和 MySQL - 导航结果集
- Java 和 MySQL - 查看结果集
- Java 和 MySQL - 更新结果集
- Java 和 MySQL 事务
- Java 和 MySQL - 事务
- Java 和 MySQL - 提交和回滚
- Java 和 MySQL - SavePoint 事务
- Java 和 MySQL 批处理
- Java 和 MySQL - 批处理
- 批处理 - 语句
- 批处理-PreparedStatement
- Java 和 MySQL 流
- Java 和 MySQL - 流数据
- Java 和 MySQL 示例
- Java 和 MySQL - 创建数据库
- Java 和 MySQL - 选择数据库
- Java 和 MySQL - 删除数据库
- Java 和 MySQL - 创建表
- Java 和 MySQL - 删除表
- Java 和 MySQL - 插入记录
- Java 和 MySQL - 选择记录
- Java & MySQL - 更新记录
- Java 和 MySQL - 删除记录
- Java 和 MySQL -Where 子句
- Java 和 MySQL - Like 子句
- Java 和 MySQL - 数据排序
- Java 和 MySQL 有用资源
- Java 和 MySQL - 快速指南
- Java 和 MySQL - 有用的资源
- Java 和 MySQL - 讨论
Java 和 MySQL - 结果集
从数据库查询读取数据的 SQL 语句,返回结果集中的数据。SELECT 语句是从数据库中选择行并在结果集中查看它们的标准方法。java.sql.ResultSet接口表示数据库查询的结果集。
ResultSet 对象维护一个指向结果集中当前行的游标。术语“结果集”是指 ResultSet 对象中包含的行和列数据。
ResultSet 接口的方法可以分为三类 -
导航方法- 用于移动光标。
获取方法- 用于查看光标指向的当前行的列中的数据。
更新方法- 用于更新当前行列中的数据。然后,这些更新也可以在底层数据库中进行更新。
光标可以根据 ResultSet 的属性进行移动。这些属性是在创建生成 ResultSet 的相应语句时指定的。
JDBC 提供以下连接方法来创建具有所需结果集的语句 -
createStatement(int RSType, int RSConcurrency);
准备语句(字符串SQL,int RSType,int RSConcurrency);
准备调用(字符串sql,int RSType,int RSConcurrency);
第一个参数指示 ResultSet 对象的类型,第二个参数是两个 ResultSet 常量之一,用于指定结果集是只读还是可更新。
结果集类型
下面给出了可能的 RSType。如果您未指定任何 ResultSet 类型,您将自动获得 TYPE_FORWARD_ONLY 类型。
类型 | 描述 |
---|---|
结果集.TYPE_FORWARD_ONLY | 光标只能在结果集中向前移动。 |
结果集.TYPE_SCROLL_INSENSITIVE | 游标可以向前和向后滚动,结果集对创建结果集后其他人对数据库所做的更改不敏感。 |
结果集.TYPE_SCROLL_SENSITIVE。 | 游标可以向前和向后滚动,结果集对创建结果集后其他人对数据库所做的更改很敏感。 |
结果集的并发
下面给出了可能的 RSConcurrency。如果您未指定任何并发类型,您将自动获得 CONCUR_READ_ONLY 并发类型。
并发性 | 描述 |
---|---|
结果集.CONCUR_READ_ONLY | 创建只读结果集。这是默认设置 |
结果集.CONCUR_UPDATABLE | 创建可更新的结果集。 |
到目前为止我们编写的所有示例都可以写成如下,它初始化一个 Statement 对象来创建一个只进、只读的 ResultSet 对象 -
try( Statement stmt = conn.createStatement( ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);) } catch(Exception ex) { .... } finally { .... }