Java Connection setHoldability() 方法示例
ResultSet 可保持性决定了在使用 Connection 接口的 commit() 方法提交事务(包含所述游标/ResultSet 对象)时,ResultSet 对象(游标)是应关闭还是保持打开。
Connection 接口的 setHoldability() 方法用于将此连接(使用此连接创建)中 ResultSet 对象的可保持性设置为所需值。
参数
此方法接受一个整数值,表示您要设置的 ResultSet 可保持性值。 ResultSet 接口提供两个值来指定 ResultSet 的可保存性,即 −
CLOSE_CURSORS_AT_COMMIT:如果 ResultSet 对象的可保存性设置为此值。每当您使用 Connection 接口的 commit() 方法提交/保存事务时,当前事务中创建的 ResultSet 对象(已打开)都将被关闭。
HOLD_CURSORS_OVER_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 接口的 setHoldability() 方法将 ResultSet 的可保持性设置为所需值,例如 −
con.setHoldability(ResultSet.CLOSE_CURSORS_AT_COMMIT);
示例
以下 JDBC 程序与数据库建立连接,并将可保持性值设置为 CLOSE_CURSORS_AT_COMMIT。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Connection_setHoldability {
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("ResultSet holdability value has been changed to "+con.getHoldability());
}
}
输出
连接已建立...... ResultSet object is open

