嵌入式HSQLDB将数据持久保存到文件中

时间:2014-07-18 10:06:18

标签: hsqldb spring-jdbc

我正在创建一个使用嵌入式hsqldb的基于Spring的Web应用程序。 我的spring配置非常简单:

<jdbc:embedded-database id="dataSource" type="HSQL" >
    <jdbc:script location="classpath:scripts/create-table-if-not-exists" />
</jdbc:embedded-database>

但是使用此配置,所有数据都存储在内存中。这是创建的数据源URL

jdbc:hsqldb:mem:dataSource

我需要将数据保存到文件中。这样我可以在服务器重启后再次使用它。

1 个答案:

答案 0 :(得分:8)

此解决方案适合我

<bean class="org.apache.commons.dbcp2.BasicDataSource" id="dataSource">
    <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
    <property name="url" value="jdbc:hsqldb:file:#{systemProperties['user.home']}/db/data" />
    <property name="username" value="sa" />
    <property name="password" value="" />
</bean>

<jdbc:initialize-database data-source="dataSource">
    <jdbc:script location="classpath:scripts/create-table-if-not-exists" />
</jdbc:initialize-database>