Springboot啟動初始化資料,執行sql指令碼

2021-10-02 03:52:23 字數 966 閱讀 2697

純配置。最方便簡潔,是最優選擇。

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...