13

我想指定jdbc:embedded-database标签的 URL。这不可能吗?

例如,如果我在我的上下文中有以下内容:

<jdbc:embedded-database type="HSQL" id="dataSource">
    <jdbc:script execution="INIT" location="classpath:com/example/init.sql" />
</jdbc:embedded-database>

它将创建一个内存数据库,位于jdbc:hsqldb:mem:dataSource

我想要做的是能够拥有不同的 bean ID 和数据库名称......

例如:

<jdbc:embedded-database type="HSQL" id="dataSource" url="jdbc:hsqldb:mem:testdb">
    <jdbc:script execution="INIT" location="classpath:com/example/init.sql" />
</jdbc:embedded-database>
4

1 回答 1

16

除了使用 jdbc:embedded-database 之外,您可以使用普通的数据源配置来完成它,并且 spring 支持 SQL 脚本执行

<bean class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" id="dataSource">
    <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
    <property name="url" value="jdbc\:hsqldb\:mem\:YOUNAME" />
    <property name="username" value="sa" />
    <property name="password" value="" />
</bean>


<jdbc:initialize-database data-source="dataSource">
    <jdbc:script location="classpath:schema_h2.sql" />
 </jdbc:initialize-database>
于 2013-06-27T03:33:45.653 回答