java - 使用 try-with-resources java 关闭数据库连接

标签 java database connection coding-style try-with-resources

我的数据库有原始的 get 方法。我需要通过它的 id 获取类(class),然后关闭连接和语句。

public Course get(int id) throws ClassNotFoundException, SQLException {
        try (Connection connection = ConnectionConfig.getDbConnection();
             PreparedStatement statement = connection.prepareStatement(GET_COURSE)){
            statement.setInt(1, id);
            ResultSet course = statement.executeQuery();
            course.next();
            String result = course.getString(1);
            return new Course(id, result);
        }
    }

我想用 try-with-resources 来做到这一点。它在此代码中工作吗?或者由于 block 中的 return 语句而自动关闭将不起作用?另一方面,我不想在这个 block 之外使用 return,因为方法可以返回带有 null 字段的对象。在这种情况下,哪种方法形式最有效且最具可读性?预先感谢您,我知道这是一个相当业余的问题)

最佳答案

关闭连接的代码通常写在finally block 中

Connection connection = null;
try {
connection = ConnectionConfig.getDbConnection();
//do all the stuff

}
finally{
connection.close()
}

关于java - 使用 try-with-resources java 关闭数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62437367/

相关文章:

java - 什么数据格式被认为在 Kafka 上写入速度最快?

php - 循环数据库查询

database - 处理 .prima 文件的 Emacs 模式

php - Mysqli 从两个不同的表中获取信息

php - MySQL 连接不工作 : 2002 No such file or directory

Java 多线程 HTTP

java - 在Netty NIO中动态添加线程到ExecutorService

java - 实现自定义 NFC 管理器的最简单方法是什么?

java - 将字符串转换为代码

c# - TcpClient.EndConnect 在套接字关闭时抛出 NullReferenceException