- Java & MySQL 教程
- Java & MySQL - 首页
- Java & MySQL - 概述
- Java & MySQL - 环境设置
- Java & MySQL - 示例代码
- Java & MySQL - 连接
- Java & MySQL - 异常
- Java & MySQL 语句
- Java & MySQL - Statement
- Java & MySQL - PreparedStatement
- Java & MySQL - CallableStatement
- Java & MySQL 结果
- Java & MySQL - 结果集
- Java & MySQL - 导航结果集
- Java & MySQL - 查看结果集
- Java & MySQL - 更新结果集
- Java & MySQL 事务
- Java & MySQL - 事务
- Java & MySQL - 提交 & 回滚
- Java & MySQL - 保存点事务
- Java & MySQL 批量处理
- Java & MySQL - 批量处理
- 批量处理 - Statement
- 批量处理 - 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 的相应 Statement 时指定的。
JDBC 提供以下连接方法来创建具有所需 ResultSet 的语句:
createStatement(int RSType, int RSConcurrency);
prepareStatement(String SQL, int RSType, int RSConcurrency);
prepareCall(String sql, int RSType, int RSConcurrency);
第一个参数指示 ResultSet 对象的类型,第二个参数是两个 ResultSet 常量之一,用于指定结果集是只读的还是可更新的。
ResultSet 类型
下面给出可能的 RSType。如果您没有指定任何 ResultSet 类型,则会自动获得一个 TYPE_FORWARD_ONLY 类型。
类型 | 描述 |
---|---|
ResultSet.TYPE_FORWARD_ONLY | 游标只能在结果集中向前移动。 |
ResultSet.TYPE_SCROLL_INSENSITIVE | 游标可以向前和向后滚动,并且结果集对创建结果集后其他人对数据库进行的更改不敏感。 |
ResultSet.TYPE_SCROLL_SENSITIVE. | 游标可以向前和向后滚动,并且结果集对创建结果集后其他人对数据库进行的更改敏感。 |
ResultSet 的并发性
下面给出可能的 RSConcurrency。如果您没有指定任何并发性类型,则会自动获得一个 CONCUR_READ_ONLY 类型。
并发性 | 描述 |
---|---|
ResultSet.CONCUR_READ_ONLY | 创建一个只读结果集。这是默认值 |
ResultSet.CONCUR_UPDATABLE | 创建一个可更新的结果集。 |
我们迄今为止编写的所有示例都可以按如下方式编写,它初始化一个 Statement 对象以创建一个仅向前、只读的 ResultSet 对象:
try( Statement stmt = conn.createStatement( ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);) } catch(Exception ex) { .... } finally { .... }