gpt4 book ai didi

java - 关闭 CallableStatement

转载 作者:行者123 更新时间:2023-11-30 11:55:40 24 4
gpt4 key购买 nike

public void XXX(){
Connection conn = ~~;
CallableStatement cstmt = conn.prepareCall("{call XXX");
cstmt.executeUpdate();
cstmt.close();
}

CallableStatement 的所有方法都在close() 中用上述方法逐行描述。各个方法中的close()自动运行怎么办不到?

有没有java5或者java6可以实现的方法?

请告诉我一个更好的表达方式,因为,我是日本人。

最佳答案

尝试资源

现代方法使用添加到 Java 7 的 try-with-resources 功能。这里的“资源”是指实现 AutoCloseable 的类的任何对象。与其单一方法 close 的接口(interface)。参见 Oracle Tutorial .

try-with-resources 语法在 try 及其大括号之间插入一对括号。在这些括号内,您声明并初始化您的资源对象。您可以在这些括号内拥有多个资源。每个资源都在语句行上声明和初始化。与任何 Java 语句一样,每一行都以分号结尾,但最后一个分号是可选的。

try (
Connection conn = myDataSource.getConnection() ;
Callable cstmt = conn.prepareCall( sql ) ;
) {
cstmt.executeUpdate() ;
} catch ( … ) {

}

顺便说一句,在 Java 9 及更高版本中,您可以在代码的早期在括号外声明和初始化资源对象。在这种情况下,只需将资源的变量名放在括号内即可自动关闭。

请注意,我们不需要为 finally 而烦恼。 try-with-resources 将对任何成功实例化的资源调用 close,即使在某个时候抛出异常也是如此。资源的关闭顺序与声明顺序相反。

关于java - 关闭 CallableStatement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4858360/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com