Java Connection getHoldability() 方法及示例


ResultSet 的可持有性決定了當使用 Connection 介面的 commit() 方法提交事務(包含該遊標/ResultSet 物件)時,ResultSet 物件(遊標)是否應該關閉或保持開啟狀態。

**Connection** 介面的 **getHoldability()** 方法用於檢索並返回此連線中 ResultSet 物件的當前可持有性值。

此方法返回一個整數,表示當前 ResultSet 的可持有性,其值為 1 或 2,其中:

  • 1 表示值 HOLD_CURSORS_OVER_COMMIT。

    如果 ResultSet 物件的可持有性設定為此值,則每當您使用 Connection 介面的 commit() 方法提交/儲存事務時,當前事務中建立的(已開啟的)ResultSet 物件將保持開啟狀態。

  • 2 表示值 CLOSE_CURSORS_AT_COMMIT。

    如果 ResultSet 物件的可持有性設定為此值,則每當您使用 Connection 介面的 commit() 方法提交/儲存事務時,當前事務中建立的(已開啟的)ResultSet 物件將被關閉。

要檢索當前的可持有性值 -

使用 DriverManager 類的 registerDriver() 方法註冊驅動程式,如下所示:

//Registering the Driver
DriverManager.registerDriver(new com.mysql.jdbc.Driver());

使用 DriverManager 類的 getConnection() 方法獲取連線,如下所示:

//Getting the connection
String url = "jdbc:mysql:///mydatabase";
Connection con = DriverManager.getConnection(url, "root", "password");

使用 Connection 介面的 getHoldability() 方法獲取當前 ResultSet 可持有性值,如下所示:

con.getHoldability();

以下 JDBC 程式建立與資料庫的連線並檢索當前的可持有性值。

示例

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Connection_getHoldability {
   public static void main(String args[]) throws SQLException {
      //Registering the Driver
      DriverManager.registerDriver(new com.mysql.jdbc.Driver());
      //Getting the connection
      String url = "jdbc:mysql:///mydatabase";
      Connection con = DriverManager.getConnection(url, "root", "password");
      System.out.println("Connection established......");
      //Setting the auto commit false
      con.setAutoCommit(false);
      //Setting the holdability to CLOSE_CURSORS_AT_COMMIT
      con.setHoldability(ResultSet.CLOSE_CURSORS_AT_COMMIT);
      System.out.println("HOLD_CURSORS_OVER_COMMIT: "+ResultSet.HOLD_CURSORS_OVER_COMMIT);
      System.out.println("CLOSE_CURSORS_AT_COMMIT: "+ResultSet.CLOSE_CURSORS_AT_COMMIT);
      System.out.println("Current ResultSet holdability value is: "+con.getHoldability());
   }
}

輸出

Connection established......
HOLD_CURSORS_OVER_COMMIT: 1
CLOSE_CURSORS_AT_COMMIT: 2
Current ResultSet holdability value is: 2

更新於: 2019-07-30

228 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.