- 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 {
....
}