SpringBoot启动时加载SQL脚本
通常,使用springboot集成数据库时,需要提前创建好数据库,这样的手动操作明显过于繁琐。
可以再springboot的配置中,增加启动时自动加载创建SQL脚本的配置。
不同版本的springboot,可能在配置上有所差异。
这里以springboot2.7为例:
编辑application.properties文件
# sql初始化
spring.sql.init.data-locations=classpath:init.sql
spring.sql.init.mode=always
而spring.sql.init.mode的定义,可以参考源码:
public enum DatabaseInitializationMode {
/**
* Always initialize the database.
*/
ALWAYS,
/**
* Only initialize an embedded database.
*/
EMBEDDED,
/**
* Never initialize the database.
*/
NEVER
}
明显使用ALWAYS参数比较合适,另外,再SQL脚本中动动脑子,如:
create table if not exists table_name{
...
}
这样就可以保证,当数据表一定会被创建。
以上只适用于创建数据库,如初始化脚本的操作,还需要想别的办法。