关于与 Apache Derby 与 Java 连接的协议



我正在构建一个需要定期访问内部Apache Derby数据库的应用程序。

我想知道我是否应该在每组语句完成后关闭应用程序连接,或者我是否可以保持连接打开状态。

在任何给定时间,该应用程序将仅由一个用户使用和访问。

如果我使用外部数据库,您的答案会改变吗?

对于嵌入式 Derby 数据库来说,这可能并不重要,因为只有启动服务器的 JVM 才能获得嵌入式连接。但是,完成后关闭数据库连接等资源总是一个好习惯用语。

在 Java 7 及更高版本中,您可以使用 try-with-resources 语句自动执行此操作。例如:

import java.sql.*;
class DbConnect {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/";
String database = "database";
String userName = "username";
String password = "password";
try (Connection connection = DriverManager.getConnection(
url + database, userName, password)) {
System.out.println("Database connection: Successful");
// Do database work
} catch (Exception e) {
System.out.println("Database connection: Failed");
e.printStackTrace();
}
}
}

在这里,Connection对象将在块的末尾自动关闭。

注意:您可以对实现java.lang.AutoCloseable的任何资源使用 try-with-resources 语句,例如在读取和写入文件时。

最新更新