那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

什么是Easy_Trans

科技綠洲 ? 來源:Java技術指北 ? 作者:Java技術指北 ? 2023-09-30 16:48 ? 次閱讀

今天給大家介紹一個很好用的開源項目:easy_trans,它能讓你的項目減少30%的SQL代碼量,接下來讓我們進一步了解它。

什么是Easy_Trans

Easy Trans是一款用于做數據翻譯的代碼輔助插件,利用MyBatis Plus/JPA/BeetlSQL 等ORM框架的能力自動查表,讓開發者可以快速的把ID/字典碼 翻譯為前端需要展示的數據。

圖片
Easy_Trans

easy trans的優點

功能多樣

  1. 緩存支持
  2. 跨微服務翻譯支持(User和Order 是2個不同微服務,order里面有userId 需要userName)
  3. 國際化支持
  4. 多種ORM框架適配
  5. 多數據源支持
  6. 集合支持(userIds [1,2,3] 翻譯為張三,李四,王五)
  7. 反向翻譯支持 男->gender 0 張三->user id id 陜西分公司 財務部 -> org_id 1

適用多種場景

  1. 我擁有一個ID,但需要向客戶展示他的職位/姓名,但又不想手動執行表關聯查詢。
  2. 我有一個字典碼"sex"和對應的字典值0,我希望將其翻譯為"男",以便展示給客戶。
  3. 我有一組用戶ID,例如1、2、3,我希望將它們展示為"張三"、"李四"、"王五",供客戶查看。
  4. 我的枚舉中包含一個"title"字段,我希望向前端展示該字段的值,以供客戶查看。
  5. 我擁有一個唯一鍵(例如手機號碼、身份證號碼),但需要向客戶展示他們的職位/姓名,而又不想手動執行表關聯查詢。

配置簡單

對于springboot項目,只需要引入 easy-trans 的starter

< !-- 目前最新版本就是 2.2.1-M1 -- >
< dependency >
    < groupId >com.fhs-opensource< /groupId >
    < artifactId >easy-trans-spring-boot-starter< /artifactId >
    < version >2.2.1-M1< /version >
< /dependency >

然后引入項目中對應的orm框架的擴展,以mybatisPlus為例

< dependency >
    < groupId >com.fhs-opensource< /groupId >
    < artifactId >easy-trans-mybatis-plus-extend< /artifactId >
    < version >2.2.1-M1< /version >
< /dependency >

然后 yml 配置

# 翻譯配置
easy-trans:
  # 平鋪模式
  is-enable-tile: true
  # 開啟redis支持
  is-enable-redis: true
  # 開啟responseBody 全局攔截后自動翻譯
  is-enable-global: true
  # 字典緩存是否放到redis中 做二級緩存,微服務模式推薦開啟
  dict-use-redis: true
  db-type: mysql

靈活易用

easy trans 支持五種類型

1、字典翻譯(TransType.DICTIONARY) 需要使用者把字典信息刷新到DictionaryTransService 中進行緩存,使用字典翻譯的時候取緩存數據源

2、簡單翻譯(TransType.SIMPLE) 比如有userId需要userName或者userPo給前端,原理是組件使用MybatisPlus/JPA的API自動進行查詢,把結果放到transMap中。

3、跨微服務翻譯(TransType.RPC)

比如訂單和用戶是2個微服務,但是我要在訂單詳情里展示訂單的創建人的用戶名,需要用到RP翻譯,原理是訂單微服務使用restTemplate調用用戶服務的一個統一的接口,把需要翻譯的id傳過去,然后用戶微服務使用MybatisPlus/JPA的API自動進行查詢把結果給訂單微服務,然后訂單微服務拿到數據后進行翻譯,當然使用者只是需要一個注解,這些事情都是由組件自動完成的。

4、AutoTrans(TransType.AUTO) 還是id翻譯name場景,但是使用者如果想組件調用自己寫的方法而不通過Mybatis Plus/JPA 的API進行數據查詢,就可以使用AutoTrans

5、枚舉翻譯(TransType.ENUM) 比如我要把SEX.BOY 翻譯為男,可以用枚舉翻譯。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • SQL
    SQL
    +關注

    關注

    1

    文章

    774

    瀏覽量

    44250
  • 代碼
    +關注

    關注

    30

    文章

    4825

    瀏覽量

    69036
  • easy
    +關注

    關注

    0

    文章

    18

    瀏覽量

    12549
  • Trans
    +關注

    關注

    0

    文章

    2

    瀏覽量

    5886
  • 開源項目
    +關注

    關注

    0

    文章

    38

    瀏覽量

    7253
收藏 人收藏

    評論

    相關推薦

    新一代圖片處理技術讓富士 X-Trans傳感器如虎添翼

    X-Trans 相機與市場上的其他相機有何不同,機器學習又是如何顛覆 raw 文件的處理方式的? DxO首席科學家 Wolf Hauser 探討了 X-Trans 的優缺點,以及 DxO 用于顯著
    的頭像 發表于 04-27 11:43 ?6389次閱讀
    新一代圖片處理技術讓富士 X-<b class='flag-5'>Trans</b>傳感器如虎添翼

    CANopen_easy_begin

    CANopen_easy_begin,,,
    發表于 09-16 17:57

    0242-0003美國TRANS-TEK

    代理美國Trans-Tek線性和角位移線性傳感器深圳市現代豪方儀器儀表科技有限公司吳經理:132.4667.5433 / 0755-26998458 工作Q:1139878854美國
    發表于 02-14 11:21

    ST7789,spi_device_polling_transmit和spi_device_queue_trans差異是什么?

    ;); for (int i=0; i8; //End Col High trans[1].tx_data[3]=((uint16_t)239)&0xff;//End Col Low trans[2
    發表于 02-13 07:38

    ST7789,spi_device_polling_transmit和spi_device_queue_trans差異是什么?

    ; //End Col High trans[1].tx_data[3]=((uint16_t)239)&0xff;//End Col Low trans[2].tx_data[0]=0x2B
    發表于 03-06 06:55

    通過SPI(使用 IDF)發送特定的32位命令,為什么spi_trans沒有完成?

    我想通過 SPI(使用 IDF)發送特定的 32 位命令。 下面的代碼有效(示波器顯示)但我需要 cpha = 1。 所以工作代碼是: 和不工作,但我需要: 這是行不通的,spi_trans 永遠
    發表于 05-30 06:26

    Easy FPGA030原理圖

    Easy FPGA030原理圖
    發表于 03-17 09:26 ?32次下載
    <b class='flag-5'>Easy</b> FPGA030原理圖

    Easy!Flow簡明安裝配置手冊

    本手冊簡明的介紹Easy!Flow安裝配置、備份、升級的基本方法。幫助用戶迅速了解配置管理Easy!Flow的要點。由于Easy!Flow包含Easy!Agile、
    發表于 04-15 23:21 ?8次下載

    基于EASY CORE芯片組的專用PLC設計

    EASY CORE是一個加載了EASY嵌入式PLC軟件平臺的核心芯片組,用于設計PLC,內核采用C8051F040混合式高性能單片機
    發表于 01-10 15:00 ?2145次閱讀
    基于<b class='flag-5'>EASY</b> CORE芯片組的專用PLC設計

    Easy_ARM2104原理圖

    Easy ARM2104原理圖,有需要的朋友下來看看。
    發表于 01-13 11:42 ?18次下載

    EASY51用戶手冊

    EASY51用戶詳細手冊,含單片機引腳圖。
    發表于 05-25 14:25 ?0次下載

    Easy MCU Easy RF”電子技術研討會

    瑞薩電子在北京賽區舉辦一場瑞薩電子技術研討會,本視頻為題目為Easy MCU Easy RF
    的頭像 發表于 06-14 01:16 ?4455次閱讀

    Working with our Technology Made Easy Blog (EngineerZone)

    Working with our Technology Made Easy Blog (EngineerZone)
    發表于 01-27 22:34 ?1次下載
    Working with our Technology Made <b class='flag-5'>Easy</b> Blog (EngineerZone)

    easy-mybatis Mybatis的增強框架

    ./oschina_soft/gitee-easy-mybatis.zip
    發表于 06-14 09:45 ?1次下載
    <b class='flag-5'>easy</b>-mybatis Mybatis的增強框架

    PSoC NeoPixel Easy輕量級庫

    電子發燒友網站提供《PSoC NeoPixel Easy輕量級庫.zip》資料免費下載
    發表于 11-17 09:48 ?0次下載
    PSoC NeoPixel <b class='flag-5'>Easy</b>輕量級庫
    最佳场百家乐官网的玩法技巧和规则 | 百家乐高人玩法| 澳门百家乐官网赌客| 大三元百家乐的玩法技巧和规则| 百家乐官网游戏打水| 广州百家乐官网酒店用品制造有限公司| 百家乐官网视频一下| 丰合网上娱乐| 网上赌博网址| 北京德州扑克比赛| 吉利百家乐的玩法技巧和规则| 至尊百家乐节目单| 澳门百家乐官网牌规| 百家乐官网保单破解方法| 淘金盈娱乐城| 什么事百家乐的路单| 豪门国际网上娱乐| 广州百家乐赌场娱乐网规则| 百家乐必赢法冯耘| 筹码百家乐的玩法技巧和规则| 百家乐讲坛汉献| 金牌百家乐的玩法技巧和规则| 博彩百家乐组选六六组| 至尊百家乐20130201| 运城百家乐的玩法技巧和规则| 兄弟百家乐的玩法技巧和规则| 91百家乐的玩法技巧和规则| 百家乐视频画面| 大发888使用条款| 188金宝博开户| 佛冈县| 百家乐官网娱乐天上人间| 百家乐官网家居 | 百家乐官网是怎样的| 百家乐官网无敌直缆| 宝格丽百家乐官网娱乐城| 最好的百家乐官网游戏平台1| 百家乐官网庄闲的分布| 百家乐官网注码技术打法| 百家乐官网平注法规则| 百家乐15人专用桌布|