我创建了一个Spring Boot应用程序,我想使用HSQLDB将数据存储在与可执行JAR文件相同的目录中。我在资源目录中创建了“application.properties”文件和“schema.sql”。在应用程序配置如下;Spring Boot在配置时不使用HSQLDB的基于文件的数据库
spring.datasource.url=jdbc:hsqldb:file:data/mydb
spring.datasource.username=SA
spring.datasource.password=lEtmEIn
spring.datasource.driver-class-name=org.hsqldb.jdbc.JDBCDriver
当Spring Boot启动时,它发现了schema.sql并创建了数据库。问题是Spring Boot称为数据库“testdb”,它显然是“仅限内存”模式,并不保存到定义的位置;
2015-09-04 08:48:00.985 INFO 30180 --- [ main] o.s.j.d.e.EmbeddedDatabaseFactory : Creating embedded database 'testdb'
2015-09-04 08:48:01.415 INFO 30180 --- [ main] o.s.jdbc.datasource.init.ScriptUtils : Executing SQL script from URL [file:/D:/GitHub/REDACTED/target/classes/schema.sql]
2015-09-04 08:48:01.423 INFO 30180 --- [ main] o.s.jdbc.datasource.init.ScriptUtils : Executed SQL script from URL [file:/D:/GitHub/REDACTED/target/classes/schema.sql] in 8 ms.
我怎么知道春天引导使用基于HSQLDB的内存退出并兑现我的配置?
你确定你的'application.properties'文件实际使用?如果您使用执行器,则可以检查/ configprops或/ env端点。 –
我检查了/ configprops并查看以下内容; { “dataSourceClassName”:NULL, “属性”:{}}, “分离器”: “;”, “URL”: “JDBC:HSQLDB:文件:数据/ MYDB”, “平台”: “所有”, “continueOnError” :假的, “jndiName”:空, “sqlScriptEncoding”:空, “密码”:空 “driverClassName”: “org.hsqldb.jdbc.JDBCDriver”, “初始化”:真正的 “用户名”: “SA”}} --- Soooo!我假设配置被读取,只是没有荣幸 –
我的猜测是,春天没有得到'application.properties'。我写的和你一样,而且工作正常。 – russellhoff