带有mysql共享托管数据库的JavaFx本地项目

带有mysql共享托管数据库的JavaFx本地项目,java,mysql,javafx,ssh,Java,Mysql,Javafx,Ssh,这是一个概念性的问题,没有代码示例,只是为了对我的项目有一些想法 我想向我的客户部署一个JavaFx桌面应用程序 (该客户几乎没有经济能力) 我的想法是获得一个mysql共享主机(像Godaddy或其他一些著名的主机一样便宜) 但要连接到此数据库,如果连接不是来自同一本地主机,则不允许连接。但是这个共享主机让我可以通过SSH连接。(如果我提供SSH密钥,我可以使用Sequel Pro连接到mysql数据库) 我的想法是通过JDBC通过SSH连接JSCH连接到这个数据库。看这个 构建这种类型的体系

这是一个概念性的问题,没有代码示例,只是为了对我的项目有一些想法

我想向我的客户部署一个JavaFx桌面应用程序

(该客户几乎没有经济能力)

我的想法是获得一个mysql共享主机(像Godaddy或其他一些著名的主机一样便宜)

但要连接到此数据库,如果连接不是来自同一本地主机,则不允许连接。但是这个共享主机让我可以通过SSH连接。(如果我提供SSH密钥,我可以使用Sequel Pro连接到mysql数据库)

我的想法是通过JDBC通过SSH连接JSCH连接到这个数据库。看这个

构建这种类型的体系结构可以吗

有人有更好的主意吗

PS:为了允许应用程序的升级,而不必在所有客户端PC中分发,我的想法是在所有客户端PC dropbox中安装应用程序,并在所有客户端之间共享一个文件夹,并在升级时刷新此文件夹中的应用程序。

首先,请查看以下内容:

您可能只想创建数据库的一个通用实例,并在整个应用程序中使用它

    public class DataSource {

    private String url = "jdbc:mysql://localhost:3306/databasename";
    private String login = "root";
    private String password = "";
    private Connection connection;
    private static DataSource dataSource;

    private DataSource() {
        try {
            connection = DriverManager.getConnection(url,login,password);
            System.out.println("OK");
        } catch (Exception e) {
              System.out.println("NOT OK");
            e.printStackTrace();
        }
    }

    public Connection getConnection() {
        return connection;
    }

    public static DataSource getInstance() {
        if (dataSource == null) {
            dataSource = new DataSource();
        }
        return dataSource;
    }
}

我希望这能有所帮助。

如果ssh连接是一个好主意以及如何实现这一点,那么我的问题是否定的