純配置。最方便簡潔,是最優選擇。
yml檔案:
spring:
datasource:
schema: classpath:schema.sql
data: classpath:data.sql
initialization-mode: always
再在resource目錄下新增schema.sql和data.sql的檔案。schema中主要用於建立表的語句,data中主要存放插入資料及更新操作。
原始碼中是先執行schema,在執行data,並且schema中不能為空檔案,所以可以在schema.sql檔案中隨便寫一行sql,不產生沉餘資料就行,比如:show tables;
需要注意的:
springboot 2.0以上的版本initialization-mode屬性必須要有。
啟動類中的 datasourceautoconfiguration.class註解會讓配置失效,或者druid的防火牆也會讓此方法失效。
方法二:自定義方法
@component
public
class
customizedatasourceinitializer
implements
initializingbean
private databasepopulator databasepopulator()
@override
public
void
afterpropertiesset()
throws exception
然後在啟動時執行方法就行,這裡是實現initializingbean介面來執行的。
springboot啟動執行方法的方式有很多,選一種就行。
方法三:使用原生mybatis。(不建議)
SpringBoot 應用啟動初始化
commandlinerunner介面,可用於專案啟動後,自動執行自己編寫的邏輯 該段 在該項目的執行週期中有且只會執行一次。1.定義乙個類來實現commandlinerunner介面。2.加上 component註解,讓它可以被掃瞄到。3.實現run方法,方法中編寫專案啟動後的業務邏輯 4.如果有...
spring boot初始化報錯
解決方法 將pom檔案中新增如下依賴 org.springframework.boot spring boot starter tomcat 1 234另,如果不行,嘗試再將下面依賴 org.springframework.boot spring boot starter 1 234改為 org.s...
springboot資料初始化
我們常利用springboot資料初始化進行測試資料準備,或者專案啟動的資料準備等,下面來具體了解下配置的含義。springboot2資料初始化配置如下 spring.datasource.initialization mode always spring.datasource.schema cla...