Spring H2嵌入式数据库文件?

Pom*_*rio 10 database spring h2

我目前使用嵌入式jetty和H2数据库在maven上运行我的petproject:

<jdbc:embedded-database id="dataSource" type="H2">
   <jdbc:script location="/WEB-INF/database.sql"/>
</jdbc:embedded-database>
Run Code Online (Sandbox Code Playgroud)

每次运行服务器时,此设置都会重置我的数据库.我想将数据库保存为磁盘中的文件,这样我就不会在每次服务器启动时丢失数据.我该如何做到这一点?

eba*_*axt 9

您可以通过连接字符串来控制它.

jdbc:h2:~/test; # saves to the file ~/test
jdbc:h2:mem:db1 # in memory
Run Code Online (Sandbox Code Playgroud)

更多信息在这里.

编辑:

似乎连接字符串在spring H2 Configuration中是硬编码的,所以我认为这意味着你必须通过扩展EmbeddedDatabaseConfigurer来编写自己的实现,假设在设置之后没有其他方法来更改连接字符串H2EmbeddedDatabaseConfigurer.