1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

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

        共 3519字,需瀏覽 8分鐘

         ·

        2021-12-01 00:29

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

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

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

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

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

        下面我會簡單介紹一下這些高級特性以及使用方法。

        使用

        Spring Boot 引入自動依賴注解包 :

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

        字段脫敏

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

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

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

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

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

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

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

        字段加密解密

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

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

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

        算法 Algorithm

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

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

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

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

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

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

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

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

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

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

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

        其他

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

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

        總結(jié)

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

        如果大家在企業(yè)內(nèi)有 mybatis-mate 使用場景,不妨支持一下。更多 mybatis-mate 使用示例詳見: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]

        國密 SM2.3.4 算法使用規(guī)范(opens new window): https://gitee.com/baomidou/mybatis-mate-examples/tree/master/國密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 資料后,匯總整理出來,可以說是程序員面試必備!所有資料都整理到網(wǎng)盤了,歡迎下載!

        ?

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

        手機(jī)掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            18以下勿进色禁网站 | 国产精品99久 | 成人无码做爰毛片国产 | 中国成熟女人毛绒绒视频 | 欧美乱轮 | 乱伦视频91 | 一级毛片丰满奶水出奶水视频 | 逼免费视频 | 波多野结衣色片 | 先锋影音AV资源站 |