带有Maven插件的轻量级Java数据库,用于启动/停止?

时间:2009-11-17 14:26:55

标签: java database hibernate jdbc maven-plugin

对于单元测试,演示和Hibernate任务,我想使用一个小而简单的Java数据库,如Derby / Java DB或HSQLDB,可以在Maven中调用。

到目前为止,我还没有找到可以下载和启动Java DB的Maven插件(目前我最喜欢的)或者类似的东西。

3 个答案:

答案 0 :(得分: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>

答案 1 :(得分:2)

my answer here中所述,您可以通过我编写的derby-maven-plugin将Derby用作您的数据库,并且可以在GitHub和Maven Central上使用。使用Derby作为内存数据库进行测试,就CI而言,您的生活将变得简单 - 无需为您的测试安装和设置外部软件,只需使用Maven即可完成。< / p>

答案 2 :(得分:0)

我不知道它是否支持你所需要的东西,但SQLite非常受欢迎,它似乎有任何集成插件。看看吧。