有关与Apache Derby和Java连接的协议

问题描述 投票:-1回答:1

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

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

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

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

谢谢。

java mysql sql apache derby
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.