<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          官宣!Mybatis-Plus 官方神器發(fā)布!??!

          共 3519字,需瀏覽 8分鐘

           ·

          2021-12-01 00:29

          點(diǎn)擊上方“碼農(nóng)突圍”,馬上關(guān)注

          這里是碼農(nóng)充電第一站,回復(fù)“666”,獲取一份專(zhuān)屬大禮包
          真愛(ài),請(qǐng)?jiān)O(shè)置“星標(biāo)”或點(diǎn)個(gè)“在看

          今天推薦一個(gè) MyBatis - Plus 官方發(fā)布的神器:mybatis-mate 。

          mybatis-mate 為 Mybatis-Plus 企業(yè)級(jí)模塊,支持分庫(kù)分表,數(shù)據(jù)審計(jì)、數(shù)據(jù)敏感詞過(guò)濾(AC 算法),字段加密,字典回寫(xiě)(數(shù)據(jù)綁定),數(shù)據(jù)權(quán)限,表結(jié)構(gòu)自動(dòng)生成 SQL 維護(hù)等,旨在更敏捷優(yōu)雅處理數(shù)據(jù)。

          不過(guò),需要注意的是:這些特性目前購(gòu)買(mǎi)授權(quán),并不是免費(fèi)開(kāi)放使用。

          下面我會(huì)簡(jiǎn)單介紹一下這些高級(jí)特性以及使用方法。

          使用

          Spring Boot 引入自動(dòng)依賴注解包 :

          <dependency>
          ??<groupId>com.baomidougroupId>
          ??<artifactId>mybatis-mate-starterartifactId>
          ??<version>1.0.8version>
          dependency>

          注解(實(shí)體分包使用):

          <dependency>
          ??<groupId>com.baomidougroupId>
          ??<artifactId>mybatis-mate-annotationartifactId>
          ??<version>1.0.8version>
          dependency>

          主要功能介紹

          • 字段脫敏
          • 數(shù)據(jù)敏感詞過(guò)濾
          • 字段加密解密
          • 數(shù)據(jù)審計(jì)(對(duì)賬)
          • 數(shù)據(jù)庫(kù)分庫(kù)分表、動(dòng)態(tài)據(jù)源、讀寫(xiě)分離、數(shù)據(jù)庫(kù)健康檢查自動(dòng)切換。
          • 字典綁定
          • 表結(jié)構(gòu)動(dòng)態(tài)維護(hù)
          • 數(shù)據(jù)范圍(數(shù)據(jù)權(quán)限)

          字段脫敏

          ?? mybatis-mate-sensitive-jackson[1]

          注解 @FieldSensitive 即可實(shí)現(xiàn)數(shù)據(jù)脫敏,內(nèi)置 手機(jī)號(hào)、郵箱銀行卡號(hào) 等 9 種常用脫敏規(guī)則

          屬性類(lèi)型必須指定默認(rèn)值描述
          typeString""脫敏類(lèi)型

          數(shù)據(jù)敏感詞過(guò)濾

          ?? mybatis-mate-sensitive-words(opens new window)[2]

          數(shù)據(jù)敏感詞過(guò)濾(AC 算法)配置完處理器,框架自動(dòng)處理請(qǐng)求的所有字符串敏感詞過(guò)濾,支持嵌套關(guān)鍵詞讓敏感詞無(wú)處遁形。

          數(shù)據(jù)庫(kù)自維護(hù)敏感詞庫(kù)(免費(fèi)、可控),默認(rèn)加載緩存詞根支持指定重新加載詞庫(kù)。

          字段加密解密

          ?? mybatis-mate-encrypt(opens new window)[3]

          注解 @FieldEncrypt 即可實(shí)現(xiàn)對(duì)字段的加密解密,支持 MD5_32、MD5_16、AES、RSA 等算法。

          屬性類(lèi)型必須指定默認(rèn)值描述
          passwordString""加密密碼
          algorithmAlgorithmPBEWithMD5AndDESPBE MD5 DES 混合算法
          encryptorClassIEncryptor加密處理器
          @FieldEncrypt
          private?String?email;

          算法 Algorithm

          算法描述
          MD5_3232 位 md5 算法
          MD5_1616 位 md5 算法
          BASE6464 個(gè)字符來(lái)表示任意二進(jìn)制數(shù)據(jù)算法
          AESAES 對(duì)稱(chēng)算法
          RSA非對(duì)稱(chēng)加密算法
          SM2國(guó)密 SM2 非對(duì)稱(chēng)加密算法,基于 ECC
          SM3國(guó)密 SM3 消息摘要算法,可以用 MD5 作為對(duì)比理解
          SM4國(guó)密 SM4 對(duì)稱(chēng)加密算法,無(wú)線局域網(wǎng)標(biāo)準(zhǔn)的分組數(shù)據(jù)算法
          PBEWithMD5AndDES混合算法
          PBEWithMD5AndTripleDES混合算法
          PBEWithHMACSHA512AndAES_256混合算法
          PBEWithSHA1AndDESede混合算法
          PBEWithSHA1AndRC2_40混合算法

          ?? 國(guó)密 SM2.3.4 算法使用規(guī)范(opens new window)[4]

          MD5 算法為不可逆算法,存儲(chǔ)數(shù)據(jù)庫(kù)及查詢結(jié)果都是密文 SM4 算法必須依賴 bouncycastle 加密庫(kù) 混合算法必須依賴 jasypt 加密庫(kù) 【注意】查詢返回加密對(duì)象必須包含加密注解信息,單純的返回某個(gè) String 或者 List 某個(gè)集合是無(wú)法解密的。

          數(shù)據(jù)審計(jì)(對(duì)賬)

          ?? mybatis-mate-audit(opens new window)[5]

          數(shù)據(jù)審計(jì)功能可以幫助我們對(duì)比兩對(duì)象屬性差異,例如:銀行流水對(duì)賬。

          多數(shù)據(jù)源分庫(kù)分表(讀寫(xiě)分離)

          ?? mybatis-mate-sharding(opens new window)[6]

          • 注解 @Sharding
          屬性類(lèi)型必須指定默認(rèn)值描述
          valueString""分庫(kù)組名,空使用默認(rèn)主數(shù)據(jù)源
          strategyClassRandomShardingStrategy分庫(kù)&分表策略
          • 配置
          mybatis-mate:
          ??sharding:
          ????health:?true?#?健康檢測(cè)
          ????primary:?mysql?#?默認(rèn)選擇數(shù)據(jù)源
          ????datasource:
          ??????mysql:?#?數(shù)據(jù)庫(kù)組
          ????????-?key:?node1
          ??????????...
          ????????-?key:?node2
          ??????????cluster:?slave?#?從庫(kù)讀寫(xiě)分離時(shí)候負(fù)責(zé)?sql?查詢操作,主庫(kù)?master?默認(rèn)可以不寫(xiě)
          ??????????...
          ??????postgres:
          ????????-?key:?node1?#?數(shù)據(jù)節(jié)點(diǎn)
          ??????????...
          • 注解 Sharding 切換數(shù)據(jù)源,組內(nèi)節(jié)點(diǎn)默認(rèn)隨機(jī)選擇(查從寫(xiě)主)
          @Mapper
          @Sharding("mysql")
          public?interface?UserMapper?extends?BaseMapper<User>?{

          ????@Sharding("postgres")
          ????Long?selectByUsername(String?username);

          }
          • 切換指定數(shù)據(jù)庫(kù)節(jié)點(diǎn)
          //?切換到?mysql?從庫(kù)?node2?節(jié)點(diǎn)
          ShardingKey.change("mysqlnode2");

          其他

          還有像數(shù)據(jù)范圍(數(shù)據(jù)權(quán)限)、表結(jié)構(gòu)自動(dòng)維護(hù)、字段數(shù)據(jù)綁定(字典回寫(xiě))等比較實(shí)用的高級(jí)特性,我們這里就不做詳細(xì)介紹了。

          感興趣的小伙伴可以去看看官方的文檔(中文文檔,寫(xiě)的很詳細(xì)):https://baomidou.com/guide/mybatis-mate.html 。

          總結(jié)

          講真,這些新特性真心比較實(shí)用,可以為我們開(kāi)發(fā)企業(yè)級(jí)項(xiàng)目節(jié)省很多精力。

          如果大家在企業(yè)內(nèi)有 mybatis-mate 使用場(chǎng)景,不妨支持一下。更多 mybatis-mate 使用示例詳見(jiàn):https://gitee.com/baomidou/mybatis-mate-examples

          參考資料

          [1]

          mybatis-mate-sensitive-jackson: https://gitee.com/baomidou/mybatis-mate-examples/tree/master/mybatis-mate-sensitive-jackson

          [2]

          mybatis-mate-sensitive-words(opens new window): https://gitee.com/baomidou/mybatis-mate-examples/tree/master/mybatis-mate-sensitive-words

          [3]

          mybatis-mate-encrypt(opens new window): https://gitee.com/baomidou/mybatis-mate-examples/tree/master/mybatis-mate-encrypt

          [4]

          國(guó)密 SM2.3.4 算法使用規(guī)范(opens new window): https://gitee.com/baomidou/mybatis-mate-examples/tree/master/國(guó)密SM2.3.4算法使用規(guī)范

          [5]

          mybatis-mate-audit(opens new window): https://gitee.com/baomidou/mybatis-mate-examples/tree/master/mybatis-mate-audit

          [6]

          mybatis-mate-sharding(opens new window): https://gitee.com/baomidou/mybatis-mate-examples/tree/master/mybatis-mate-sharding

          -End-

          最近有一些小伙伴,讓我?guī)兔φ乙恍?面試題?資料,于是我翻遍了收藏的 5T 資料后,匯總整理出來(lái),可以說(shuō)是程序員面試必備!所有資料都整理到網(wǎng)盤(pán)了,歡迎下載!

          ?

          點(diǎn)擊??卡片,關(guān)注后回復(fù)【面試題】即可獲取
          瀏覽 96
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  台湾精品一区二区三区最新作品 | 中文字幕AV网站 | 亚洲欧美国产日韩字慕 | 午夜视频网站 | 超碰97ol |