色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

Spring Boot中自動(dòng)執(zhí)行sql腳本的實(shí)現(xiàn)

瀏覽:48日期:2023-04-02 15:31:10

說明:所有的代碼基于SpringBoot 2.0.3版本

背景

在應(yīng)用程序啟動(dòng)后,可以自動(dòng)執(zhí)行建庫、建表等SQL腳本.下文中以要自動(dòng)化執(zhí)行people.sql腳本為例說明,腳本在SpringBoot工程中的路徑為:classpath:people.sql,腳本的具體內(nèi)容如下:

CREATE TABLE IF NOT EXISTS people( persion_id BIGINT NOT NULL AUTO_INCREMENT, first_name VARCHAR(20), last_name VARCHAR(20), PRIMARY KEY (persion_id));實(shí)現(xiàn)核心

在SpringBoot的架構(gòu)中,DataSourceInitializer類可以實(shí)現(xiàn)自動(dòng)執(zhí)行腳本的功能。通過自定義DataSourceInitializer Bean就可以實(shí)現(xiàn)按照業(yè)務(wù)要求執(zhí)行特定的腳本。

實(shí)現(xiàn)方法前提

已經(jīng)構(gòu)建了DataSource Bean。

方法

通過@Configuration、@Bean和@Value三個(gè)注解實(shí)現(xiàn)自定義DataSourceInitializer Bean,現(xiàn)在Bean的定義中實(shí)現(xiàn)自動(dòng)化執(zhí)行腳本的業(yè)務(wù)邏輯。

代碼

import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.core.io.Resource;import org.springframework.jdbc.datasource.init.DataSourceInitializer;import org.springframework.jdbc.datasource.init.DatabasePopulator;import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator;import javax.sql.DataSource;@Configurationpublic class BatchTaskDataSourceInitializer { /** * 構(gòu)建Resource對象 */ @Value('classpath:schema-all.sql') private Resource businessScript; /** * 自定義Bean實(shí)現(xiàn)業(yè)務(wù)的特殊需求 * @param dataSource * @return */ @Bean public DataSourceInitializer dataSourceInitializer(final DataSource dataSource) { final DataSourceInitializer initializer = new DataSourceInitializer(); // 設(shè)置數(shù)據(jù)源 initializer.setDataSource(dataSource); initializer.setDatabasePopulator(databasePopulator()); return initializer; } private DatabasePopulator databasePopulator() { final ResourceDatabasePopulator populator = new ResourceDatabasePopulator(); populator.addScripts(businessScript); return populator; }}

到此這篇關(guān)于Spring Boot中自動(dòng)執(zhí)行sql腳本的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)SpringBoot自動(dòng)執(zhí)行sql內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 狠狠色丁香久久婷婷综 | 久久精品成人欧美大片免费 | 免费成年人在线视频 | 亚洲精品日韩一区二区 | 爱综合 | 亚洲欧美一区二区三区综合 | 亚洲精品国产综合一线久久 | 碰碰人人 | 国产片久久 | 国产香蕉影视院 | 日本视频免费在线播放 | 91社区视频 | 欧美亚洲精品在线 | 男人的天堂在线观看免费 | 国产aaa女人十八毛片 | 在线视频久草 | 日韩在线亚洲 | 久久在线国产 | 国产区一区二 | 国产精品成人不卡在线观看 | 欧美在线bdsm调教一区 | 国产免费高清在线精品一区 | 青青久草 | 欧美视频www | 久久国内精品自在自线400部o | 99成人精品 | 欧美手机视频 | a一级毛片免费高清在线 | 一区二区三区在线免费看 | 在线播放一区二区三区 | 日本毛片在线看 | 黄a网站| 亚洲天堂国产精品 | 在线免费视频国产 | 欧美一区二区三区男人的天堂 | 国内国外精品一区二区 | 加勒比毛片| 亚洲一区二区三区久久久久 | 韩国午夜三级理论 | 东莞a级毛片 | 欧美xxxxx九色视频免费观看 |