📜  springboot 中未加载 data.sql - Java (1)

📅  最后修改于: 2023-12-03 15:20:13.787000             🧑  作者: Mango

Spring Boot 中未加载 data.sql

当使用 Spring Boot 时,我们可以在 src/main/resources 目录下创建 data.sql 文件,其中包含了要初始化的 SQL 语句。然而,可能出现这样的情况:运行程序后发现 data.sql 并未生效。

解决方案
1. 确认是否启用了自动配置

application.properties 中,确认是否启用了自动配置:

spring.autoconfigure.enable=true
2. 提前创建数据源

在程序启动的过程中,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=
3. 确认 SQL 语句是否有效

data.sql 中,确认 SQL 语句是否有效。可以通过以下方式在日志中查看 SQL 执行情况:

logging.level.org.hibernate.SQL=DEBUG
4. 确认 data.sql 文件是否存在

src/main/resources 目录下确认 data.sql 文件是否存在,文件名是否正确,文件编码是否正确。

5. 确认 application.properties 是否正确配置

application.properties 中确认是否正确配置了 spring.datasource.initialization-mode=always

spring.datasource.initialization-mode=always
总结

如果在 Spring Boot 中未加载 data.sql,可以通过以下方式解决:

  • 确认是否启用了自动配置;
  • 提前创建数据源;
  • 确认 SQL 语句是否有效;
  • 确认 data.sql 文件是否存在;
  • 确认 application.properties 是否正确配置。

祝开发愉快!