关于使用Java连接ApacheDerby的协议

关于使用Java连接ApacheDerby的协议,java,mysql,sql,derby,Java,Mysql,Sql,Derby,我正在构建一个需要定期访问内部ApacheDerby数据库的应用程序 我想知道是否应该在每一组语句完成后关闭应用程序连接,或者是否可以保持连接打开 该应用程序在任何给定时间仅由一个用户使用和访问 如果我使用外部数据库,您的答案会改变吗?对于嵌入式Derby数据库来说,这可能没什么大不了的,因为只有启动服务器的JVM才能获得嵌入式连接。但是,在完成时关闭数据库连接等资源始终是一个好习惯用法 使用Java7和更高版本,您可以使用trywithresources语句自动完成这项工作。例如: impor

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

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

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


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

对于嵌入式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语句,例如,当您读写文件时。

在此处找到一些信息,但它不能完全回答我的问题。如有任何意见,我们将不胜感激。嵌入式配置?客户端服务器配置?您计划一次打开多少个连接:十个?几百?几千?“使用外部数据库”是什么意思?