成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

如何MyBatis在使用MyCat實現(xiàn)多租戶功能

本篇文章給大家分享的是有關(guān)如何MyBatis在使用MyCat實現(xiàn)多租戶功能,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

創(chuàng)新互聯(lián)是一家從事企業(yè)網(wǎng)站建設(shè)、成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、行業(yè)門戶網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計制作的專業(yè)的建站公司,擁有經(jīng)驗豐富的網(wǎng)站建設(shè)工程師和網(wǎng)頁設(shè)計人員,具備各種規(guī)模與類型網(wǎng)站建設(shè)的實力,在網(wǎng)站建設(shè)領(lǐng)域樹立了自己獨特的設(shè)計風(fēng)格。自公司成立以來曾獨立設(shè)計制作的站點數(shù)千家。

MyCat 基本配置

首先針對多租戶配置了多個數(shù)據(jù)庫,在 MyCat 的 schema.xml 中配置了多個 schema。

如何MyBatis在使用MyCat實現(xiàn)多租戶功能

在 server.xml 中配置了一個用戶:

如何MyBatis在使用MyCat實現(xiàn)多租戶功能

后面會使用 MyCat 注解(就是注釋)方式根據(jù)不同的標(biāo)識,將操作指向不同的數(shù)據(jù)庫。

過濾器識別請求匹配對應(yīng)的數(shù)據(jù)庫

標(biāo)識有很多種方式可以加以區(qū)分,下面使用最簡單的一種,通過不同的二級域名進(jìn)行識別。二級域名和數(shù)據(jù)庫對應(yīng)的信息可以通過全局庫或者公共庫進(jìn)行存儲,還可以是簡單的配置文件進(jìn)行配置,不過下面代碼只是為了演示,因此配置信息都是寫死在代碼中的。

假設(shè)存在以下二級域名,分別對應(yīng)不同的數(shù)據(jù)庫:

  • ui1.mybatis.tk :UI1
  • ui2.mybatis.tk :UI2
  • ui3.mybatis.tk :UI3
     

通過過濾器,在用戶請求時根據(jù)請求地址設(shè)置當(dāng)前請求使用的數(shù)據(jù)庫:

如何MyBatis在使用MyCat實現(xiàn)多租戶功能

這段代碼只是很簡單的判斷,根據(jù)不同的字符串設(shè)置不同的數(shù)據(jù)庫。使用了一個靜態(tài)的本地線程變量來存儲數(shù)據(jù)庫信息。

重寫 MyBatis 的 MappedStatement 簡單實現(xiàn) MyCat 注解

使用 MyBatis 和數(shù)據(jù)庫進(jìn)行操作時,所有執(zhí)行的 sql 都是通過 MappedStatement 獲取的,雖然通過攔截器方式也能給 sql 添加注解,但是實現(xiàn)起來有點復(fù)雜。通過重寫 MappedStatement 會簡單很多,但是你也需要保證重寫的這個類能夠替代默認(rèn)的類。

重寫很簡單,只需要修改原有的 getBoundSql 方法:

如何MyBatis在使用MyCat實現(xiàn)多租戶功能

這段代碼就是在返回 BoundSql 前,修改 sql,添加 /*!mycat:schema=數(shù)據(jù)庫*/,具體的數(shù)據(jù)庫從過濾器的靜態(tài)方法獲取,由于每一個請求都會經(jīng)過過濾器(特別注意,如果是任務(wù)一類的調(diào)用,不需要經(jīng)過過濾器,這種情況需要處理任務(wù)執(zhí)行時數(shù)據(jù)庫的綁定,這需要根據(jù)具體業(yè)務(wù)實現(xiàn)),因此這里的操作一定能獲取到具體的數(shù)據(jù)庫。增加這個注解后,MyCat 執(zhí)行時就會自動將數(shù)據(jù)庫的操作發(fā)送到指定的數(shù)據(jù)庫上執(zhí)行,通過這種方式就實現(xiàn)了一種簡單的多租戶方式。

以上就是如何MyBatis在使用MyCat實現(xiàn)多租戶功能,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當(dāng)前題目:如何MyBatis在使用MyCat實現(xiàn)多租戶功能
轉(zhuǎn)載來于:http://jinyejixie.com/article8/jopdop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、企業(yè)建站、軟件開發(fā)、App設(shè)計搜索引擎優(yōu)化、動態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司
辽阳市| 南安市| 乌拉特后旗| 巴林左旗| 渭南市| 神农架林区| 陕西省| 镇原县| 夹江县| 青州市| 彰化市| 峡江县| 石河子市| 尖扎县| 武夷山市| 白银市| 琼海市| 阜康市| 富阳市| 长葛市| 兴仁县| 伊宁市| 灵寿县| 江源县| 扬中市| 井冈山市| 合作市| 和田县| 巴青县| 兴国县| 金门县| 三门县| 文安县| 兰坪| 镇江市| 交口县| 永康市| 高平市| 淳化县| 五莲县| 太谷县|