2016-01-23 23 views
0

我對數據庫非常陌生。我必須創建一個與MySQL數據庫接口的Java程序。在沒有服務器的情況下連接到Intellij Ultimate中的本地MySQL數據庫?

我使用MySQL Workbench 6.3 CE創建了一個數據庫。我點擊本地實例MySQL57,登錄並在示例sakila,sys和世界模式旁邊添加了模式。

然後,我在Intellij中創建了一個Java項目,其中包含對Connector/J Jar(mysql-connector-java-5.1.38-bin.jar)的引用。然後我用下面的Java代碼連接到數據庫:

try { 
     String userName = "root"; 
     String password = "password"; 
     String url = "jdbc:mysql://localhost/mydatabase"; 
     connection = DriverManager.getConnection(url, userName, password); 
     Class.forName("com.mysql.jdbc.Driver").newInstance(); 
     System.out.println("Connected to Database"); 
} catch (Exception e){ 
    e.printStackTrace(); 
} 

這工作,我能夠使用必要connection.executeUpdate()connection.executeQuery()函數來執行SQL命令。

我希望能夠導出我的數據庫模式和狀態,以便有人可以導入我們的數據庫,然後使用我們的Java應用程序來連接它。

我已經使用View|Tool Windows|Database將數據庫添加到Intellij本地項目中,然後添加了Data Source| MySQL並完成嚮導以連接到該項目。我是否需要使用Intellij啓動服務器,或者需要做什麼,因此我可以將此程序提供給某人,以便他們可以運行它並使用隨附的數據庫。

本質上,我該怎麼做才能使我的程序擁有一個數據庫來存儲無論IDE或數據庫服務器在其他人機器上運行哪些都可以工作的信息?

+0

希望能夠導出我的數據庫模式和狀態,以便有人可以導入我們的數據庫,然後使用我們的Java應用程序按原樣連接到它。 ?你是指數據庫還是連接? – CodeIsLife

+0

如果你可以使用executeUpdate/executeQuery,你不需要任何東西。 IDE本質上與數據庫無關。只要其他人在他的電腦上安裝了mysql,他應該可以導入數據庫轉儲。該人如何連接到數據庫取決於他/她想要使用的工具。如果那個人想通過代碼連接,連接器應該足夠了。 –

+0

我的程序使用數據庫來存儲信息。所以我需要一種方法來確保程序,數據庫和連接都在其他人的計算機上工作。所以我想回答你的問題? – ryanmattscott

回答

1

您不需要對程序做任何事情來「使數據庫工作」 - 您只需根據您的代碼段從應用程序連接到數據庫即可。數據庫是一個獨立的單元。一旦使用executeUpdate/executeQuery命令,您只需更改數據庫中的信息

IDE實際上與數據庫無關 - 它只是提供一個方便的數據庫接口來查看數據庫信息並允許編輯信息/執行查詢 - 這與工作臺的工作方式大致相同。

如果您想與其他人共享您的數據庫,您可以簡單地使用工作臺或mysqldump命令行實用程序中的導出數據庫功能(在服務器菜單項下)並導出到自包含文件。默認情況下,它將數據庫和可選信息導出到sql命令中。這可以導入到其他人的數據庫中,只要該人員在其環境中安裝了mysql服務器和客戶端即可。

+0

我注意到你還需要檢查選項創建單個事務中的轉儲僅包含文件)和Include Create Schema選項。感謝提示讓它在朋友電腦上工作 – ryanmattscott

相關問題