📅  最后修改于: 2023-12-03 15:20:13.787000             🧑  作者: Mango
当使用 Spring Boot 时,我们可以在 src/main/resources
目录下创建 data.sql
文件,其中包含了要初始化的 SQL 语句。然而,可能出现这样的情况:运行程序后发现 data.sql
并未生效。
在 application.properties
中,确认是否启用了自动配置:
spring.autoconfigure.enable=true
在程序启动的过程中,data.sql
会在数据源创建之前被执行。因此,如果数据源还未创建,则 data.sql
也不会生效。可以通过以下方式提前创建数据源:
@Configuration
public class DataSourceConfig {
@Bean
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource dataSource() {
return DataSourceBuilder.create().build();
}
}
并在 application.properties
中配置数据源:
spring.datasource.url=
spring.datasource.username=
spring.datasource.password=
spring.datasource.driver-class-name=
在 data.sql
中,确认 SQL 语句是否有效。可以通过以下方式在日志中查看 SQL 执行情况:
logging.level.org.hibernate.SQL=DEBUG
data.sql
文件是否存在在 src/main/resources
目录下确认 data.sql
文件是否存在,文件名是否正确,文件编码是否正确。
application.properties
是否正确配置在 application.properties
中确认是否正确配置了 spring.datasource.initialization-mode=always
。
spring.datasource.initialization-mode=always
如果在 Spring Boot 中未加载 data.sql
,可以通过以下方式解决:
data.sql
文件是否存在;application.properties
是否正确配置。祝开发愉快!