日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

spring框架集成flyway項目的詳細過程

瀏覽:2日期:2023-07-03 11:07:52
什么是Spring

Spring是一個開源框架,它由Rod Johnson創建。它是為了解決企業應用開發的復雜性而創建的。

Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。 然而,Spring的用途不僅限于服務器端的開發。從簡單性、可測試性和松耦合的角度而言,任何Java應用都可以從Spring中受益。 目的:解決企業應用開發的復雜性 功能:使用基本的JavaBean代替EJB,并提供了更多的企業應用功能 范圍:任何Java應用 它是一個容器框架,用來裝javabean(java對象),中間層框架(萬能膠)可以起一個連接作用,比如說把Struts和hibernate粘合在一起運用。簡單來說,Spring是一個輕量級的控制反轉(IoC)和面向切面(AOP)的容器框架。

Flyway簡介

Flyway是一個數據庫版本化管理工具,通過SQL腳本實現DB Migration自動化升級,支持獨立運行,也可以和構建工具或者Spring開發環境集成。

最近給公司項目集成flyway,由于我們項目移動端使用的是spring框架,網上看了很多博客,感覺這方面的東西還是很少的,畢竟現在是springboot的天下,大多數都是springboot集成flyway。但是還是有不少公司遺留有spring框架的項目。這里就自己肝一篇,希望能幫到更多想把flyway添加到spring項目中的人。

由于使用的是spring框架。因此我們選擇低版本的flyway。

flyway各個版本請到這里去找:https://mvnrepository.com/artifact/org.flywaydb/flyway-core我們的maven使用的是阿里云的倉庫,阿里云倉庫中沒有低版本的依賴,我們我們需要下載jar包。這里下載的是3.0版本的jar包。

下載的包需要拷貝到項目webapp/WEB-INF/lib中(web項目都會有WEB-INF這個文件夾,只需要找到你項目中web文件夾就行,web文件夾,就是文件夾上有個藍點的,具體看下圖的webapp文件夾)

spring框架集成flyway項目的詳細過程

新建資源目錄resources在其下面建立db/migration(sql文件默認讀取此路徑下的文件夾中的.sql文件)

spring框架集成flyway項目的詳細過程

在pom.xml中添加,如果不添加,resources中的文件就無法打包到war包中。

<resource><directory>src/main/resources</directory><includes> <include>**/*</include></includes> </resource>

添加flyway配置類,更多配置請看源代碼

package com.dt.flyway;import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger;import org.flywaydb.core.Flyway;import org.flywaydb.core.api.FlywayException;import javax.naming.Context;import javax.naming.InitialContext;import javax.naming.NamingException;import javax.sql.DataSource;/** * @Description: flyway配置類 * @author: * @Date: 2021/7/12 15:57 * @Copyright: Xi’an Dian Tong Software Co., Ltd. All Rights Reserved. * @Version 1.0 */public class DatabaseFlywayMigration { protected final static Logger log = LogManager.getLogger('DatabaseFlywayMigration'); public void migrate() throws NamingException {log.info('DatabaseFlywayMigration-->migrate:flyway開始執行,準備獲取數據源');Context context = new InitialContext();//獲取tomcat中的數據源DataSource dataSource = (DataSource) context.lookup('java:comp/env/jdbc/wxi');log.info('DatabaseFlywayMigration-->migrate:獲取數據源成功,準備執行flyway配置');Flyway flyway = new Flyway();// 設置sql腳本文件的編碼flyway.setEncoding('UTF-8');flyway.setOutOfOrder(true);flyway.setDataSource(dataSource);// 設置接受flyway進行版本管理的多個數據庫//flyway.setSchemas('flywaydemo');// 設置存放flyway metadata數據的表名 flyway.setTable('flyway_schema_history');// 設置執行migrate操作之前的validation行為//flyway.setValidationMode(ValidationMode.ALL);// 設置當validation失敗時的系統行為//flyway.setValidationErrorMode(ValidationErrorMode.FAIL);// 設置當validation失敗時的系統行為try { flyway.setInitOnMigrate(true); log.info('DatabaseFlywayMigration-->migrate:配置成功,即將執行sql語句'); flyway.migrate(); log.info('DatabaseFlywayMigration-->migrate:sql語句執行成功,flyway---END');} catch (FlywayException e) { log.error('DatabaseFlywayMigration-->migrate:執行sql語句失敗,請查看日志排查錯誤'); flyway.repair(); e.printStackTrace();} }}

在spring的xml中注入flyway配置類的bean(每個spring項目都會帶有一個xml文件,用來注冊bean,復制的時候注意項目中DatabaseFlywayMigration所在的路徑)

<!-- flayway --><bean lazy-init='false' init-method='migrate'> </bean>

spring框架集成flyway項目的詳細過程

到這里,移動端整合flyway就完成了。以后這些sql語句,只需要放到resources/db/migration文件夾下面即可(但是這些sql命名都是不符合flyway的,需要進行名稱的修改)

spring框架集成flyway項目的詳細過程

命名規則:此處的SQL語句命名需要遵從一定的規范,否則運行的時候flyway會報錯。命名規則主要有兩種:

僅需要被執行一次的SQL命名以大寫的”V”開頭,后面跟上”0~9”數字的組合,數字之間可以用“.”或者下劃線”“分割開,然后再以兩個下劃線 _ 分割,其后跟文件名稱,最后以.sql結尾。比如,V20210707__create_user.sql、V20210707__add_user.sql。可重復運行的SQL,則以大寫的“R”開頭,后面再以兩個下劃線分割,其后跟文件名稱,最后以.sql結尾。。比如,R__truncate_user_dml.sql。

其中,V開頭的SQL執行優先級要比R開頭的SQL優先級高。

V:固定大寫

20210707.01:20210707是日期,后面用.01代表序號

因為flyway的執行是有個順序的,比如你執行了V2021__create_user,有執行V2020_update_user。就會報錯,原因就是2020<2021。所以我們要保證序號是依次增大。

Flyway 是如何比較兩個 SQL 文件的先后順序呢?它采用 采用左對齊原則, 缺位用 0 代替 。舉幾個例子:

1.0.1.1 比 1.0.1 版本高。1.0.10 比 1.0.9.4 版本高。1.0.10 和 1.0.010 版本號一樣高, 每個版本號部分的前導 0 會被忽略。

__:這個是兩個 _ 例如:V2.0.9__upgrade.sqlV2.0.11__upgrade.sqlV2.0.13__upgrade.sqlV2.0.14__upgrade.sql

作者:天下沒有收費的bug出處:https://www.cnblogs.com/LoveBB/本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須在文章頁面給出原文鏈接,否則保留追究法律責任的權利。

到此這篇關于spring集成flyway的文章就介紹到這了,更多相關spring集成flyway內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
超碰在线99| 国产不卡av一区二区| 国产真实久久| 在线精品视频在线观看高清| 欧美日韩国产免费观看视频| 丝瓜av网站精品一区二区| 亚洲一区二区三区在线免费| 日韩欧美中文字幕电影| 综合国产视频| 911亚洲精品| 久久精品伊人| 国产精品v日韩精品v欧美精品网站| 国产精品一区三区在线观看| 精品视频黄色| 亚洲韩日在线| 亚洲综合图色| 欧美国产免费| 日本美女一区| 蜜臀久久久99精品久久久久久| 91九色综合| 不卡福利视频| 一二三区精品| 成人影视亚洲图片在线| 欧美午夜精彩| 欧美日韩xxxx| 中文在线资源| 亚洲一区二区三区无吗| 国产精品扒开腿做爽爽爽软件| 日本在线高清| 中文一区一区三区免费在线观 | 日韩综合一区二区| 久久精品色播| 尹人成人综合网| 国产精品啊v在线| 黄色成人91| 国产精品毛片aⅴ一区二区三区| 91精品国产乱码久久久久久久| 视频国产精品| 国产在线观看www| 亚洲最新av| 午夜精品久久久久久久久久蜜桃| 蜜臀av一区二区三区| 精品国产亚洲一区二区在线观看| 狠狠爱成人网| 精品三级国产| 亚洲精品在线二区| 国产91精品对白在线播放| 日韩国产欧美在线播放| 成人日韩在线观看| 国产亚洲精品精品国产亚洲综合| av在线最新| 国产一区二区三区亚洲综合| 丝袜脚交一区二区| 韩国精品主播一区二区在线观看 | 99精品美女| 久久av资源| 亚洲精品成人一区| 亚洲激情av| 成人看片网站| 欧美a级一区二区| 日本不卡高清视频| 香蕉久久夜色精品国产| 成人免费电影网址| 国产麻豆一区二区三区精品视频| 美女精品在线观看| 四虎4545www国产精品 | 日韩国产在线一| 中文在线不卡| 色老板在线视频一区二区| 久久久精品国产**网站| 奇米亚洲欧美| 日韩精品一页| 国产精品日韩| 在线视频精品| 亚洲精品电影| 美女网站一区| 亚洲欧美一区在线| 日韩伦理福利| 亚洲精品**中文毛片| 精品视频91| 精品视频自拍| 国产成人精品一区二区免费看京 | 91九色精品| 91精品久久久久久久久久不卡| 精品中国亚洲| 欧美激情亚洲| 老司机免费视频一区二区三区| 国产免费久久| 免费在线欧美黄色| 免费在线观看一区| 国产一区二区三区免费在线| 国产精品xxx在线观看| 国产精品欧美日韩一区| 国产日韩欧美三区| 国产精品久一| 久久三级毛片| 国产极品久久久久久久久波多结野| 国产欧美一区二区三区精品观看 | 欧产日产国产精品视频| av资源亚洲| 欧美色图一区| 欧洲激情综合| 蘑菇福利视频一区播放| 国产美女精品| 亚洲精品美女91| 国产日韩精品视频一区二区三区| 欧美亚洲二区| 国产精品多人| 在线看片福利| 午夜久久久久| 日韩毛片一区| 精品国产一区二区三区噜噜噜| 鲁鲁在线中文| 不卡一区综合视频| 亚洲理论在线| 欧美一级二级三级视频| 国产极品嫩模在线观看91精品| 精品精品国产三级a∨在线| 亚洲天堂av影院| 国产亚洲午夜| 欧美午夜三级| 综合日韩av| 欧美日韩一二三四| 亚洲婷婷丁香| 久久三级中文| 国产韩日影视精品| 日日摸夜夜添夜夜添国产精品| 国产精品主播| 久久激情中文| 中文字幕日韩亚洲| 国产精久久一区二区| 欧洲亚洲一区二区三区| 国产亚洲高清视频| 久久精品 人人爱| 青青久久av| 亚州精品视频| 97精品国产福利一区二区三区| 国产精品99一区二区| 天海翼亚洲一区二区三区| 久久精品系列| 久久xxxx| 欧美xxxx中国| 最近国产精品视频| 成人在线丰满少妇av| 国产精品日韩欧美一区| 国产精品a久久久久| 午夜欧美精品久久久久久久| 国产日韩视频在线| 在线精品小视频| 欧美经典一区| 美女久久网站| 色偷偷偷在线视频播放| 蜜桃视频一区二区| 国产精品成人a在线观看| 男人操女人的视频在线观看欧美| 免费在线亚洲欧美| 蜜臀久久99精品久久久久宅男| 久久精品天堂| 日韩在线黄色| 99热精品久久| 麻豆精品在线播放| 久久av在线| 亚洲日本网址| 国产亚洲电影| 免费视频一区二区| 88xx成人免费观看视频库| 日韩高清电影免费| 国产在线日韩| 成人午夜网址| 久久国产麻豆精品| 中文日韩欧美| 丝袜av一区| 国内精品伊人| 国产精品亚洲欧美| 午夜久久av| 夜夜嗨一区二区| 日韩成人亚洲| 荡女精品导航| 国产精品久久久久久久久免费高清| 久久亚洲美女| 久久在线免费| 高潮一区二区| 麻豆精品在线观看| 97成人在线| 日本伊人久久| 美国三级日本三级久久99| 午夜久久黄色| 欧美日中文字幕| 蜜臀久久精品| 亚洲精品**中文毛片| 精品国产亚洲日本| 国产精品黄色片| 91成人小视频| 日韩欧美中文字幕电影| 视频一区免费在线观看| 日韩视频中文| 99亚洲视频| 亚洲激情偷拍| 欧美日韩国产高清| 午夜欧美精品久久久久久久|