关于使用Java连接ApacheDerby的协议
我正在构建一个需要定期访问内部ApacheDerby数据库的应用程序 我想知道是否应该在每一组语句完成后关闭应用程序连接,或者是否可以保持连接打开 该应用程序在任何给定时间仅由一个用户使用和访问关于使用Java连接ApacheDerby的协议,java,mysql,sql,derby,Java,Mysql,Sql,Derby,我正在构建一个需要定期访问内部ApacheDerby数据库的应用程序 我想知道是否应该在每一组语句完成后关闭应用程序连接,或者是否可以保持连接打开 该应用程序在任何给定时间仅由一个用户使用和访问 如果我使用外部数据库,您的答案会改变吗?对于嵌入式Derby数据库来说,这可能没什么大不了的,因为只有启动服务器的JVM才能获得嵌入式连接。但是,在完成时关闭数据库连接等资源始终是一个好习惯用法 使用Java7和更高版本,您可以使用trywithresources语句自动完成这项工作。例如: impor
如果我使用外部数据库,您的答案会改变吗?对于嵌入式Derby数据库来说,这可能没什么大不了的,因为只有启动服务器的JVM才能获得嵌入式连接。但是,在完成时关闭数据库连接等资源始终是一个好习惯用法 使用Java7和更高版本,您可以使用trywithresources语句自动完成这项工作。例如:
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();
}
}
}
在这里,连接
对象将在块的末尾自动关闭
注意:您可以对实现
java.lang.AutoCloseable
的任何资源使用try with resources语句,例如,当您读写文件时。在此处找到一些信息,但它不能完全回答我的问题。如有任何意见,我们将不胜感激。嵌入式配置?客户端服务器配置?您计划一次打开多少个连接:十个?几百?几千?“使用外部数据库”是什么意思?