2010-12-13 104 views
4

我有一個Java SE應用程序,它使用數據庫。我目前使用XML文件來存儲數據,但恐怕會在以後的使用中造成一些錯誤。易於使用Java SE應用程序部署數據庫

因此,使用Postgree/MySQL就像DB一樣好。真正的數據庫。但問題是,它是一個商業應用程序,它在Windows下運行,應該是2次點擊安裝。我真的不喜歡與我的應用程序一起安裝數據庫,然後運行腳本來構建表的想法。

有沒有可以用作Java API的數據庫?還是應該繼續使用XML? (我正在同步每個訪問我的XML文件)。最好的選擇是什麼?

+2

[嵌入式java數據庫]的可能重複(http://stackoverflow.com/questions/57102/embedded-java-databases) – 2010-12-13 13:42:40

+0

請查看此用法示例,http://debuggingisfun.blogspot.com/2012/05/快速易於設置的數據庫in.html – ethan 2012-05-18 21:00:41

回答

12

下列任一嵌入式數據庫:

他們是重量輕,佔用空間非常小,可嵌入沒有在您的應用程序的問題。

由於它們是用Java編寫的,而且每一個都是一個簡單的jar文件,所以您的部署令人頭疼的事情將保持在最低限度。

你已經提到了MySQL和PostgreSQL。雖然我還沒有嘗試過,但H2的各種流行數據庫都有幾個compatibility modes,包括你提到的數據庫。

+0

Derby在http://debuggingisfun.blogspot.com/2012/05/quick-and-easy-setup-of-database-in.html中進行了說明 – ethan 2012-05-18 21:01:01

3

絕對值得尋找一個簡單的SQLite數據庫作爲存儲。它只是文件系統上的一個文件。無需設置服務器。查看下面的線索進行介紹:Java and SQLite您可以檢查的另一個數據庫是HSQLDB(鏈接在此線程內的另一個答案中)。這是一個用Java編寫的基於單個文件的關係數據庫引擎。

1

基於我以前在將數據存儲到XML中的幼稚經驗,我寫了一個關於XML的整個論壇系統,它基於RSS解析器和編寫器。 XML文件變得非常大,從而導致應用程序頻繁發出請求超時。

你可以使用類似SQLite的東西,其中數據存儲在一個文件中,但更多的管理和允許聲明性語句,如SELECT * FROM table

相關問題