2013-06-26 5 views
13

Я хочу указать URL-адрес для тега jdbc:embedded-database. Разве это невозможно?Укажите URL-адрес 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

То, что я хочу сделать, это быть в состоянии иметь другой боб 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> 

ответ

15

Вместо использование JDBC: встроенные-базы данных, вы можете сделать это с нормальной конфигурацией источника данных, и яровой поддержка выполнения сценария 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> 
+0

Я не знал о 'JDBC: инициализация-database'. Это должно работать отлично, спасибо! – FGreg

Смежные вопросы