您可以使用Derby在內存數據庫和H2內存數據庫。他們很好,但H2有更好的表現。 H2有一個Web控制檯GUI,Derby有eclipse插件GUI。你可以嘗試一下。我在項目中使用過它們。 H2數據庫在SO中有一個標籤,其作者將在SO中支持你。我認爲fredit適合使用服務器模式而不是嵌入模式。但他的網址似乎並不正確。至少它應該使用mem。對於Derby,url是jdbc:derby:// myhost:1527/memory:myDB; create = true。這是H2 jdbc的實例url:h2:tcp:// localhost/mem:db1。
您需要使用服務器模式,以便客戶端可以從網絡連接到它。 你需要注意的一件事是,在內存模式下,因爲它在內存中,所以當你的java進程結束時,JVM不在那裏,DB中的數據也會丟失。但是爲了測試,這成爲一個優勢。您無需清除測試數據。
H2具有很好的測試用途。它具有SQL支持,可以運行IBM DB2,Apache Derby,HSQLDB,MS SQL Server,MySQL,Oracle和PostgreSQL的兼容性SQL。這意味着即使你在MS SQL Server中使用特殊的SQL,也可以在H2中獲得相同的結果。我相信你會喜歡它。
鏈接
我知道HSQL在內存模式,但我沒有用它。
祝你好運。
UPDATE
我相信,如果你不是在你的測試用例編寫查詢,它會返回結果。我在測試案例中做了很多。即使在嵌入模式下,只要您在測試用例中創建了JDBC連接即可。如果您覺得這很不方便,甚至可以將數據輸出轉儲到文件中。但是您必須將數據加載到測試用例中的HSQL中,您可以使用BeforeClass來完成它。如果您不能這樣做,則必須使用服務器模式。
的HSQL似乎是在JDBC URL服務器內存模式
詳情參看 http://hsqldb.org/doc/guide/guide.html#N108D2連接
你必須處理一些服務器CONFIGS有點不同。
@Rachel,I終於找到一個鏈接來幫助您在內存模式下設置服務器模式。 看看這個。這有點複雜。
注 「在服務器模式下運行的唯一內存HSQLDB」
第二個鏈接沒有詳細說明如何正確連接。 因此,請嘗試第一個。
看這裏:http://stackoverflow.com/questions/4990864/best-sql-browser-for-hsqldb – Perception
@Perception:我無法看到我的數據庫,我正確提供所有連接細節。 – Rachel
您是否驗證過您確實能夠寫入數據庫,然後從中讀回? – Perception