2013-06-26 2 views
13

Ich möchte die URL für das jdbc:embedded-database-Tag angeben. Ist das nicht möglich?Geben Sie die URL von jdbc ein: embedded-database

Zum Beispiel, wenn ich folgendes in meinem Zusammenhang haben:

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

Es wird eine In-Memory-Datenbank bei jdbc:hsqldb:mem:dataSource

gelegen erstellen Was ich tun möchte, in der Lage ist, eine andere Bohne haben ID und Datenbankname ...

Zum Beispiel:

<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> 

Antwort

15

Statt jdbc die Verwendung: Embedded-Datenbank, können Sie es mit einer normalen Datenquelle Konfiguration zu tun, und Federunterstützung für SQL Skriptausführung

<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

ich nicht über 'jdbc wusste: initialisieren-database'. Das sollte perfekt funktionieren, Danke! – FGreg

Verwandte Themen