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