记录下Springboot初始化自动生成数据库表结构的配置:Spring.sql.init相关的配置信息和注意事项
配置信息说明
spring:
datasource:
url: jdbc:mysql://localhost:3306/test
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: root
sql:
init:
## 初始模式 默认EMBEDDED(只会初始化H2这种数据库) always表示每次启动都会自动执行SQL文件初始化数据库表 所以注意表的创建SQL需要写成 :create table if not exists tableName
mode: always
## 指定sql文件名称 默认值为all 会默认对应resources下面的schema-all.sql和data-all.sql文件 如果换成mysql 就回去找resource下的schema-mysql.sql和data-mysql.sql
platform: all
# 数据库账号 如果没配置默认采用 datasource 当中配置username
username: root
password: root
#配置sql数据脚本文件地址,可配置多个(默认用;分割) 或者使用数组方式配置
data-locations:
- classpath:data-mysql.sql
#配置sql脚本文件地址,可配置多个(默认用;分割) 或者使用数组方式配置 配置了这项则platform项不生效
schema-locations:
- classpath:schema-mysql.sql
#配置分隔符(默认用;分割)
separator: ;
## 如果执行脚本过程中碰到错误是否继续,默认是false
continue-on-error: false
注意事项
1 always方式会让每次启动都会去执行SQL文件,建表语句可以加上判断 if not exists 连避免每次都重新创建表