JavaFx本地项目与mysql共享托管数据库

时间:2017-04-18 16:42:25

标签: java mysql javafx ssh

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

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

(这位客户的财务手段很少)。

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

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

我的想法是通过JDBC与JSCH的SSH连接通过JDBC连接到这个数据库。请参阅此post

建立这种类型的架构是否可以?

有人有更好的主意吗?

PS:为了允许应用程序的发展而不必在所有客户端PC中解析它,我的想法是安装在所有客户端PC保管箱中并在所有客户端之间共享一个文件夹并在此刷新应用程序我有进化的文件夹。

1 个答案:

答案 0 :(得分:1)

首先,看看这个:https://dzone.com/articles/singleton-design-pattern-%E2%80%93

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

    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;
    }
}

我希望这有帮助。