我的可执行 JavaFX 文件如何连接到 MySQL 数据库?

Posted

技术标签:

【中文标题】我的可执行 JavaFX 文件如何连接到 MySQL 数据库?【英文标题】:How does my executable JavaFX file connect to a MySQL database? 【发布时间】: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中,你的应用的入口点在哪里,连接到数据库 【参考方案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 这样的内存数据库或远程服务器。

以上是关于我的可执行 JavaFX 文件如何连接到 MySQL 数据库?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 javafx 应用程序中连接 Godaddy mysql

JavaFX不会连接到MYSQL [重复]

如何使用SSL JDBC连接到MySQL服务器

使用箭头键控制连接到 TextField 的 JavaFX ContextMenu

我如何以编程方式从另一种方法单击 JavaFX 中的按钮?

将 JVM 选项添加到 maven javafx 项目