2017-04-18 49 views
1

这是一个概念性问题,没有代码例如只是为了接收我的项目的一些想法。JavaFx本地项目与MySQL共享托管数据库

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

(该客户没有多少财务资源)。

我的想法是让共享一个MySQL主机(廉价例如GoDaddy或其他一些已知和著名主办)

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

我的想法是通过JDBC连接到此数据库并使用JSCH与SSH连接。看到这post

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

有人有更好的主意吗? PS:为了允许应用程序的进化,并且不必在所有客户端PC中分辨它,我的想法是安装在所有客户端PC保管箱中,并在所有客户端之间共享一个文件夹并刷新应用程序这个文件夹,当我有一个进化。

回答

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

我希望这可以帮到你。

+0

没有我的问题在关于SSH连接,如果这是一个好主意,以及如何做到这一点 – shmoolki