Springboot初始化自动生成数据库表结构

记录下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 连避免每次都重新创建表

你可能感兴趣的:(SpringBoot,学习日志,spring,boot,数据库,后端)