2013-04-21 66 views
1

我想問一個關於我正在開發的java應用程序的本地數據庫的意見。本地Java應用程序 - 數據庫選擇

它的獸醫應用程序,這意味着我需要存儲客戶,寵物和醫療史的詳細信息的開始。我知道如何使用JDBC,但我只是在applet中使用它。

所以,我真的不知道很多關於本地解決方案的知識,以及當我將應用程序發佈到.jar中時,如何工作,所以請指導我。 MySQL會繼續工作嗎?

謝謝!

回答

2

這是相當普遍的問題和細節上的亮點,MySQL聽起來像它會在這裏工作。如果這是針對本地訪問的,並且不需要典型的客戶端 - 服務器模型,那麼我鼓勵查看可以直接在JVM中加載的數據庫引擎。其中一個好處是不需要安裝任何單獨的數據庫組件,並且可以將整個數據庫引擎的JAR打包到您的應用程序中。

下面是其中的幾個:

  • Apache Derby
  • HyperSQL
  • H2
  • SQLite的 - 圍繞C庫的Java包裝都可用,但不會有任何可用的純Java JDBC驅動程序爲此我知道這一點。

我意識到,開發人員配置MySQL用於本地使用並不困難,但它可能會導致最終用戶的一些支持問題。可以編寫安裝腳本來預先配置其中的大量內容,但我不確定這些內容的詳細信息,並且在打包應用程序時這將是一個額外的項目。

有關使用MySQL的一些常見問題如下所示。這可能是最好的方式,但這些只是一些需要考慮的事情。其中大多數並不是真正專用於應用程序的開發,更多的是支持事物。利用上面提到的數據庫引擎可以消除所有這些或許多這些。

  • 將多臺計算機每逢同時連接到同一個數據庫?
  • 你使用什麼MySQL密碼?
  • 你是否建議最終用戶都使用同一個可能不是很好的安全?
  • 還是最終用戶需要創建一個,在這種情況下,您可能需要處理忘記的密碼,最終用戶必須在應用程序中配置密碼?
  • 您的最終用戶是否運行可能會干擾數據庫連接的防病毒軟件?
  • 如果他們有另一個程序使用已經使用默認端口的MySQL,該怎麼辦?
+0

感謝您的回答! SQLite是否屬於上面的列表? – LePhleg 2013-04-21 23:56:14

+0

此處還需要其他什麼細節?我已經描述了應用程序以及我打算在數據庫中存儲的內容。我不知道我還應該包括什麼更具體..: -/ – LePhleg 2013-04-21 23:57:11

+0

我添加SQLite和給出的評論是我最初排除它的原因。我還添加了一些需要思考的問題。 – 2013-04-22 01:07:24

相關問題