springboot写⽂件_SpringBoot启动时⾃动执⾏数据库的DDL和
DML语句
SpringBoot启动时⾃动执⾏数据库的DDL和DML语句
1 POM⽂件
项⽬依赖的jar如下截图
POM⽂件
gos
第六届cctv模特大赛
默认的⽅式,那百分之百是有命名规范和约定的,必须将SQL⽂件按照SpringBooot默认的命名⽅式和路径存放。默认的DDL⽂件:schema-all.sql
默认的DML⽂件:data-all.sql
试题研究
默认的路径: src/main/resources(只要编译后的⽂件在classpath的根⽬录下⾯就可以)
以上的SpringBoot默认规则源码在spring-boot-autoconfigure-2.3.0.RELEASE.jar⾥⾯的 org.springframework.boot.autoconfigure.jdbc.DataSourceProperties类⾥⾯,源码如下:
默认路径源码在org.springframework.boot.autoconfigure.jdbc. DataSourceInitializer类⾥⾯,源码如下:
SpringBoot默认SQL存放路径
SpringBoot默认SQL存放路径
注意从上⾯这张截图SpringBoot的源码可以看出默认的SQL⽂件命名有俩种:
DDL
schema-all.sql
全面推开营改增schema.sql
巴林银行DML
data-all.sql新伊汽配城
data.sql
SQL⽂件截图如下:
这样也可以,都是SpringBoot默认的命名⽅式
spring.datasource.initializationMode=ALWAYS
SpringBoot1.x版本默认情况下是不需要这个配置的,但是不知道从哪个版本开始⼀定要在配置⽂件⾥⾯配置这个才⾏。
SpringBoot开启⾃动执⾏SQL的配置
这个配置的源码如下:
注意看上⾯的代码截图,isEnablled()⽅法如果返回false就直接return了,
下⾯的runScript⽅法就不会⾛了,runScript这个⽅法才是执⾏SQL的最终⽅法。
3 通过配置修改SQL⽂件存放位置并且⼀次执⾏多个SQL⽂件
注意下⾯这张截图⾥⾯的源码相关源码在jar包spring-boot-autoconfigure-2.3.0.RELEASE.jar的org.springframework.boot.autoconfigure.jdbc.DataSourceProperties和
org.springframework.boot.autoconfigure.jdbc.DataSourceInitializer类⾥⾯