最近在学习SpringBoot,学习过程中发现了一些1.5x版本与2.0x版本之间小差别,本文主要讲自动建表方面的差别。
1、SpringBoot 1.5x时用法
方法(1):
直接在resources文件夹(即类路径)下,新建文件名为schema-*.sql的建表语句脚本文件,启动主应用的时候就会在配置好目标数据库中创建表。
方法(2):
在application.yml全局配置文件中指定脚本文件的路径,文件名可以任意取,不必带schema前缀,比如:
2、SpringBoot 2.0x时用法
在使用springBoot2.0及其以上版本时,我们自动创建表使用1.5x中的方法(1)(即在application.yml文件中不指定脚本路径,只使用schema-*.sql)是不行的,启动主应用不会帮我们自动创建表。
我们除了需要在application.yml文件中指定脚本路径外,还需要特别注意一点:在application.yml配置文件中加上 initialization-mode: always 这句话。这样SpringBoot在启动时,才能检测到这个配置,之后再检测schema配置的脚本路径,然后去执行脚本文件。
这样写,就能在数据库中正常创建表了。