解决关于springboot应用启动时,不能加载执行resources文件下的SQL文件

在springboot2.0版本之前,如果把SQL文件直接放在resources文件夹下是可以直接被加载执行,完成数据库的创建和数据的插入,但是要符合相应的规则,

1.建表语句要命名为,schema.sql或者schema-all.sql
2.数插入语句要命名为:data.sql或者data-all.sql

如果你想使用其他命名的SQL文件,你可以在application.yml或者是application.properties文件中指定:

schema:
      - classpath:sql/department.sql
      - classpath:sql/employee.sql

  
   
   
  • 1
  • 2
  • 3

这样系统在启动的时候就会自动加载然后执行这些SQL文件,并且系统在每次启动的时候都会加载一次,也就是这些文件都会被执行一次.

但是
在springboot2.0的版本之后,以上所有操作都失效了,SQL文件是不会被执行的,我们还需要在配置文件中添加一个配置:

 initialization-mode: always

  
   
   
  • 1

这样就可以加载你的目标SQL文件了.

#需要加上这句,否则不会自动执行sql文件
spring.datasource.initialization-mode=always
# schema.sql中一般存放的是建表语句DDL
spring.datasource.schema = classpath:schema.sql
# data.sql中一般存放的是需要插入更新等sql语句DML
spring.datasource.data =  classpath:data.sql

猜你喜欢

转载自blog.csdn.net/Arthur_Holmes/article/details/112934126