这是一个概念性问题,没有代码示例只是为了获得我项目的一些想法。
我想为我的客户部署 JavaFx 桌面应用程序。
(这个客户没有经济能力)。
我的想法是获得一个 mysql 共享主机(像 Godaddy 或其他一些知名主机一样便宜)
但是要连接到这个数据库,如果连接不是来自同一个本地主机,则不允许。但是这个共享主机让我可以通过 SSH 连接进行连接。 (如果我提供 SSH key ,我可以使用 Sequel Pro 连接到 mysql 数据库)
我的想法是通过 JDBC 连接到这个数据库,SSH 连接到 JSCH。看这个post .
可以构建这种类型的架构吗?
有人有更好的主意吗?
PS:为了允许应用程序的发展并且不必在所有客户端 PC 上分发它,我的想法是在所有客户端 PC 保管箱中安装并在所有客户端之间共享一个文件夹并在此刷新应用程序进化时的文件夹。
最佳答案
首先,看这个: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;
}
}
希望对您有所帮助。
关于带有 mysql 共享托管数据库的 JavaFx 本地项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43477782/