1

我想在 Maven 和 Spring 上下文中使用相同的嵌入式数据库。通过 Maven Liquibase 插件,我正在创建数据库模式并用数据填充它。通过 Spring,我将使用数据库。我还需要一种通过 Intellij IDEA IDE 连接到数据库的方法。

在 Spring 3 中,可以使用以下方法配置嵌入式数据库:

<jdbc:embedded-database id="datasource" type="HSQL"/>

为了通过 Maven 插件创建模式并填充数据库,我需要将其配置为:

<plugin>
    <groupId>org.liquibase</groupId>
    <artifactId>liquibase-maven-plugin</artifactId>
    <version>2.0.5</version>
    <configuration>
        <propertyFile>src/main/resources/db/config/${envProfile}-config.properties</propertyFile>
        <changeLogFile>src/main/resources/db/changelog/db.changelog-master.xml</changeLogFile>
    </configuration>
</plugin>

在这种情况下,我的属性文件具有以下属性:

driver: org.hsqldb.jdbcDriver
#HSQLDB Embedded in file
url: jdbc:hsqldb:file:src/main/resources/db/hsqldb/dataFile

第一个问题。如何同时使用 Spring 和 Maven 上下文使用相同的数据库?作为一种解决方案,我可以像往常一样在 Spring 中配置数据库 dataSource bean - 将属性文件中的配置选项传递给它。但我想完全使用 Spring 3 功能 - . 如果我可以在 Spring 上下文中连接它,那么我可以通过 Maven 插件连接它。我该怎么做?为什么到处都建议像往常一样配置dataSourse bean而不解决问题?为什么 Spring 中添加了新功能,但我只能在 Spring 上下文中使用它,而无法从基于 jdbc 的数据库可视化工具连接到数据库?

PS:似乎嵌入式HSQL数据库是全内存(我认为它可能是全文件)和进程内。因此,无法在一个进程中创建模式并将其填充。完成它。然后尝试从另一个进程中连接。请纠正我,如果我错了。

4

0 回答 0