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() 方法将驱动程序注册为 −
//注册驱动程序 DriverManager.registerDriver(new com.mysql.jdbc.Driver());
使用 DriverManager 类的 getConnection() 方法获取连接,参数为 −
//获取连接 String url = "jdbc:mysql://localhost/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 {
//注册驱动程序
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//获取连接
String url = "jdbc:mysql://localhost/mydatabase";
Connection con = DriverManager.getConnection(url, "root", "password");
System.out.println("连接已建立......");
//设置自动提交为 false
con.setAutoCommit(false);
//将可保持性设置为 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());
}
}
输出
连接已建立...... HOLD_CURSORS_OVER_COMMIT: 1 CLOSE_CURSORS_AT_COMMIT: 2 Current ResultSet holdability value is: 2

