2009-11-17 25 views
5

對於單元測試,演示和Hibernate任務我想使用一個小而簡單的Java數據庫,如Derby/Java DB或HSQLDB,它們可以在Maven中調用。輕量級Java數據庫與Maven插件啓動/停止?

到目前爲止,我還沒有找到可以下載和啓動Java DB(這是我目前最喜歡的)或類似的Maven插件。

+0

你爲什麼需要一個插件來啓動一個特定的數據庫? – jitter 2009-11-17 14:28:50

+0

持續集成,單元​​測試,演示儘可能少的交互和配置 - 只需啓動「mvn測試」,然後使用JPA創建一個表格 – mjn 2009-11-17 14:32:01

回答

6

的單元測試簡單的設置是在內存中開始HSQLDB:停止所需

db.connection.driver_class=org.hsqldb.jdbcDriver 
db.connection.url=jdbc:hsqldb:mem:aname 
db.connection.username=sa 
db.connection.password= 
hibernate.dialect=org.hibernate.dialect.HSQLDialect 

沒有開始和。 JDBC驅動程序將「啓動」數據庫。

你也可以用它來演示。如果您在應用程序啓動時初始化數據庫。

數據庫設置可以使用hibernate.hbm2ddl.auto完成。


編輯由kdgregory

要讓Maven的包括HSQLDB的依賴關係只有在測試階段,使用你的POM:

<dependency> 
    <groupId>hsqldb</groupId> 
    <artifactId>hsqldb</artifactId> 
    <version>1.8.0.7</version> 
    <scope>test</scope> 
</dependency> 
0

我不知道它是否支持你所需要的東西,但SQLite非常受歡迎,似乎有集成插件與任何東西。一探究竟。

2

my answer here中所述,您可以通過我編寫的derby-maven插件將Derby用作數據庫,並且可以通過GitHub或通過Maven Central獲得。使用Derby作爲內存數據庫進行測試,就CI而言,您的生活將變得簡單 - 無需爲您的測試安裝和設置外部軟件,只需使用Maven即可完成。