【问题标题】:How does my executable JavaFX file connect to a MySQL database?我的可执行 JavaFX 文件如何连接到 MySQL 数据库?
【发布时间】:2019-12-23 21:23:42
【问题描述】:

我最近完成了我的第一个 JavaFX 应用程序的工作。 它与设置在本地服务器上的 MySQL 数据库连接。 在使用应用程序之前,我需要启动使用 Xampp 运行的服务器。 现在我想最终将我的应用程序打包成一个 .exe 文件并使用它。 在服务器和数据库方面,我是一个完整的新手。我的问题是 - 一旦用户打开它,我该怎么做才能让我的应用程序与数据库本身连接? 我是否需要从本地主机服务器切换到不需要每次都启动它的远程服务器?

我的 JavaFX 应用使用 JDBC 与 MySQL 连接。

private static String url = "jdbc:mysql://localhost:3306/Finance?useSSL=false&serverTimezone=UTC";
    private static String login = "root";
    private static String password = "";

    public static Connection getConnection() throws SQLException {
        Connection connection = DriverManager.getConnection(url, login, password);
        return connection;
    }

【问题讨论】:

  • 在main中,你的应用的入口点在哪里,连接到数据库

标签: java mysql


【解决方案1】:

您可以使用以下方法测试您的连接:

public boolean canConnect() {
    try {
        con = DriverManager.getConnection(url, login, password);
        //executed only if no errors are thrown
        return true;
    } catch (SQLException e) {
        e.printStackTrace();
        //can't connect
        return false;
    } finally {
        //close connection if it was successful
        try {
            if (con!=null) con.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

通过在您的 ma​​in 方法中或在您的第一个 阶段 中调用它,如下所示:

if (!canConnect()) {
    //notify the user
    //start xampp or check connection to local server
} //else proceed

如果你想用 Xampp 部署你的应用程序,你需要让 Xampp 在电脑启动时自动启动,这样用户就不必在每次启动时手动启动它。
如果你想知道如何在 Xampp 中自动启动你的 MySQL 服务,你可以find it here.

【讨论】:

  • 好吧,够公平的!但是如果我想在没有 Xampp 的计算机上运行这个应用程序呢?
  • @lvndsky 在这种情况下,您需要像 H2 这样的内存数据库或远程服务器。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-16
  • 2020-10-24
  • 2014-03-04
  • 2020-11-20
相关资源
最近更新 更多