根据文档http://docs.spring.io/spring-boot/docs/current/reference/html/howto-database-initialization.html在启动时导入数据,您可以在application.properties中定义以下两个属性:
spring.datasource.data=data.sql
spring.datasource.schema=schema.sql当您拥有这两个文件,但我没有模式时,这是可行的。我正在使用hibernate生成db模式。
spring.jpa.hibernate.ddl-auto=create-drop以前的Importing Data with spring boot方法是为schema.sql空白定义文件,但是它不再工作了。我会得到异常文件不能是blank or null。
在spring应用程序中,我简单地定义了
<jdbc:initialize-database data-source="simpleDataSource">
<jdbc:script location="classpath:dbscripts/data.sql"/>
</jdbc:initialize-database>而且起作用了。
在springBoot中也有同样的行为方式吗?
发布于 2016-12-07 04:22:46
只需删除schema.sql +配置选项,Spring应该只自动选择sata.sql。
发布于 2018-03-22 15:14:52
根据spring源代码- data.sql只有在schema.sql文件存在且不为空的情况下才会被调用。因此,如果您只需要来自data.sql的脚本,那么向schema.sql添加一些简单的查询,如
SELECT 1;也是在application.properties添加中
spring.datasource.initialization-mode=always因为默认值仅用于嵌入式数据源。
https://stackoverflow.com/questions/40991530
复制相似问题