2017-04-18 93 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