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://127.0.0.1/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://127.0.0.1/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 次查看

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告