SpringBoot中配置起動時的資料庫初始化角本

2021-09-07 20:01:01 字數 1690 閱讀 2565

一、簡介

下面,我們將使用springboot2.0.4release版本做實驗

連線字串角配置:

#連線字串

spring.datasource.driver-class-name=com.mysql.jdbc.driver

spring.datasource.url=jdbc:mysql://

172.16.4.203:3306/mydatabase?characterencoding=utf8&useunicode=true&usessl=false&servertimezone=asia/shanghai

spring.datasource.username=root

spring.datasource.password=123456

spring.jpa.show-sql=true

spring.jpa.generate-ddl=true

spring.jpa.hibernate.ddl-auto=update

spring.datasource.platform=org.hibernate.dialect.mysql57dialect

初始化資料:

#初始化資料

spring.datasource.schema=classpath:schema.sql

spring.datasource.data=classpath:data.sql

spring.datasource.sql-script-encoding=utf-8

spring.datasource.initialization-mode=always

三、說明

因為springboot在啟動時,只有檢測到spring.datasource.initialization-mode=always配置,後再檢測spring.datasource.schema之後,且配置的sql角本命令不為空,才會去執行schema和spring.datasource.data。因此需要在scheme.sql中隨便寫一句sql語句。

schema.sql

--

這裡是定義資料結構的sql,每次執行都會執行,此檔案不能為空,必須至少寫一句sql語句。

show tables;

data.sql

--

下列角本是同步服務系統每次啟動會自動執行的角本。編寫時,請注意確保角本中不會變更現有記錄。

--settingtab

insert setting_tab(id,name,value,description) select

1, '

name

', '

admin

','使用者名稱

'from dual where

notexists (select

1from setting_tab where setting_tab.id =1);

insert setting_tab(id,name,value,description) select

2, '

key', '

123456

','金鑰

'from dual where

notexists (select

1from setting_tab where setting_tab.id=

2);

SpringBoot中配置起動時的資料庫初始化指令碼

連線字串 spring datasource platform mysql url jdbc mysql localhost 3306 gov admin?useunicode true characterencoding utf 8 username root password 111111 dr...

在SpringBoot中配置aop

aop作為spring的乙個強大的功能經常被使用,aop的應用場景有很多,但是實際的應用還是需要根據實際的業務來進行實現。這裡就以列印日誌作為例子,在springboot中配置aop 已經加入我的github模版中 經過那麼長時間的過程,我們也慢慢體會到,在spingboot專案中新增元素是非常方便...

SpringBoot中的預設配置

enableautoconfiguration會開啟springboot的自動配置,並且根據引入的依賴來生效對應的預設配置,那麼問題來了 webmvcautoconfiguration類中獲取配置類中的字首字尾,來獲取屬性 configuration type type.servlet condit...