首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

JDBC 查詢資料庫實作:ResultSet 完整操作指南

     編輯:MySQL 綜合教學

JDBC 查詢資料庫實作:ResultSet 完整操作指南

ResultSet 封裝了 JDBC 查詢的結果集,本質上是一張資料表,內部維護一個指標預設指向第一行之前。

核心操作流程

  1. 呼叫 Statement.executeQuery(sql) 取得 ResultSet
  2. 使用 next() 移動指標並檢測是否有下一行資料(回傳 true 表示有效)
  3. 定位到某行後,透過 getXxx(index) 或 getXxx(columnName) 取得欄位值

完整程式碼範例

@Test
public void testResultSet() {
    Connection conn = null;
    Statement stmt = null;
    ResultSet rs = null;
    try {
        // 1. 取得連線
        conn = JDBCTools.getConnection();
        // 2. 建立 Statement
        stmt = conn.createStatement();
        // 3. 準備 SQL
        String sql = "SELECT * FROM CUSTOMERS WHERE ID = 2";
        // 4. 執行查詢
        rs = stmt.executeQuery(sql);
        // 5. 處理結果集
        while (rs.next()) {
            int id = rs.getInt("ID");
            String name = rs.getString("name");
            String email = rs.getString("email");
            Date birth = rs.getDate("birth");
            System.out.println(id);
            System.out.println(name);
            System.out.println(email);
            System.out.println(birth);
        }
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        // 6. 關閉資源 (工具類已封裝重載方法)
        JDBCTools.release(rs, stmt, conn);
    }
}

關鍵點說明

  • ResultSet 類似 Iterator 的 hasNext() + next() 結合體
  • 欄位索引從 1 開始,也可使用欄位名稱(不區分大小寫)
  • 資源關閉順序:ResultSet → Statement → Connection
  • 建議使用工具類統一管理資源釋放,避免洩漏

此為 JDBC 基礎查詢操作的標準範本,實務開發中建議搭配連線池與 PreparedStatement 提升效能與安全性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved