我想指定jdbc:embedded-database
标记的网址。这不可能吗?
例如,如果我在上下文中有以下内容:
<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>
答案 0 :(得分:15)
不是使用jdbc:embedded-database,而是使用普通的数据源配置,以及对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>