数据翻译的代码辅助插件,一个注解搞定,减少30%SQL代码量
一、开源项目简介
Easy Trans是一款用于做数据翻译的代码辅助插件,利用MyBatis Plus/JPA/BeetlSQL 等ORM框架的能力自动查表,让开发者可以快速的把ID/字典码 翻译为前端需要展示的数据。
二、开源协议
使用Apache-2.0开源协议
三、界面展示
四、功能概述
Easy Trans适用于5种场景
1 我有一个id,但是我需要给客户展示他的title/name 但是我又不想自己手动做表关联查询
2 我有一个字典码 sex 和 一个字典值0 我希望能翻译成 男 给客户展示。
3 我有一组user id 比如 1,2,3 我希望能展示成 张三,李四,王五 给客户
4 我有一个枚举,枚举里有一个title字段,我想给前端展示title的值 给客户
5 我有一个唯一键(比如手机号,身份证号码,但是非其他表id字段),但是我需要给客户展示他的title/name 但是我又不想自己手动做表关联查询
五、技术选型
Easy Trans 支持的五种类型
字典翻译(TransType.DICTIONARY)
需要使用者把字典信息刷新到DictionaryTransService 中进行缓存,使用字典翻译的时候取缓存数据源
简单翻译(TransType.SIMPLE)
比如有userId需要userName或者userPo给前端,原理是组件使用MybatisPlus/JPA的API自动进行查询,把结果放到TransMap中。
跨微服务翻译(TransType.RPC)
比如订单和用户是2个微服务,但是我要在订单详情里展示订单的创建人的用户名,需要用到RPC翻译,原理是订单微服务使用restTemplate调用用户服务的一个统一的接口,把需要翻译的id传过去,然后用户微服务使用MybatisPlus/JPA的API自动进行查询把结果给订单微服务,然后订单微服务拿到数据后进行翻译,当然使用者只是需要一个注解,这些事情都是由组件自动完成的。
AutoTrans(TransType.AUTO)
还是id翻译name场景,但是使用者如果想组件调用自己写的方法而不通过Mybatis Plus/JPA 的API进行数据查询,就可以使用AutoTrans
枚举翻译(TransType.ENUM)
比如我要把SEX.BOY 翻译为男,可以用枚举翻译。
六、源码地址
easy_trans: easy trans是一款用于做数据翻译的代码辅助插件,利用mybatis plus/jpa/beetsql 等ORM框架的能力自动查表,让开发者可以快速的把id/字典码 翻译为前端需要展示的数据
数据翻译的代码辅助插件,一个注解搞定,减少30%SQL代码量相关推荐
- svm对未知数据的分类_LibSVM学习3:一个实例搞定libsvm分类
转自:[by faruto] 视频的帖子地址: 本讲视频相关帖子:[1]如何使用libsvm进行分类 这帖子就是初步教教刚接触libsvm(svm)的同学如何利用libsvm进行分类预测,关于参数寻优 ...
- 一个注解搞定接口防刷!还有谁不会?
点击关注公众号,Java干货及时送达 说明:使用了注解的方式进行对接口防刷的功能,非常高大上,本文章仅供参考 一,技术要点:springboot的基本知识,redis基本操作, 首先是写一个注解类: ...
- 一个注解搞定 SpringBoot 接口防刷,还有谁不会?
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者:CS打赢你 blog.csdn.net/weixin ...
- Java后端:一个注解搞定 Spring Boot 日志!
此组件解决的问题是: 「谁」在「什么时间」对「什么」做了「什么事」 本组件目前针对 Spring-boot 做了 Autoconfig,如果是 SpringMVC,也可自己在 xml 初始化 bean ...
- Android线程创建aop,【android安卓】一个注解搞定线程切换,基于AOP的线程转换框架...
最简单的使用方法: 模拟进度展示: @RunOnIOThread public void progress() { for (int i = 0; i <= 100; i++) { showPr ...
- python利器app怎么查文献-科研人必备:一个工具搞定文献查阅、数据分析、模型搭建...
原标题:科研人必备:一个工具搞定文献查阅.数据分析.模型搭建 写论文有多难?这首诗形容得好: 进入学校先选题,踌躇满志万人敌:发现前辈都做过,满脸懵逼加惊奇. 终于找到大空白,我真是个小天才:左试右试 ...
- 将你的前端应用打包成docker镜像并部署到服务器?仅需一个脚本搞定
1.前言 前段时间,自己搞了个阿里云的服务器.想自己在上面折腾,但是不想因为自己瞎折腾而污染了现有的环境.毕竟,现在的阿里云已经没有免费的快照服务了.要想还原的话,最简单的办法就是重新装系统.而一旦重 ...
- 封装一个类搞定90%安卓客户端与服务器端交互
本实例封装了一个处理安卓客户端与服务器端交互的几个方法,对于中文乱码问题本实例也找到了解决方案.本例可以处理的场景如下: 1.与服务器端交互json数据. 2.Get方式与服务器端交互数据. 3.Po ...
- php调用jssdk转发_php一个文件搞定微信jssdk配置
php一个文件搞定微信jssdk配置: 包括缓存,包括https通讯,获取微信access_token,签名什么的都有.但是防范性编程做得比较少,商业用的话,需要完善下代码. 使用姿势 ^ajax(C ...
最新文章
- 复旦邱锡鹏教授公布《神经网络与深度学习》,中文免费下载 | 极客头条
- 查询去重_如何在 1 秒内做到大数据精准去重?
- ue4 classuobject没有成员beginplay_UE4中蓝图函数的泛型
- python cnn模型_ZfNet解卷积:可视化CNN模型( PythonCode可视化Cifar10)
- markdown插入图片、音频视频
- rust睡觉按键没反应_腐蚀Rust有哪些实用操作 腐蚀Rust实用操作汇总-游侠网
- java请求响应中转_J2EE中的请求中转、重定向和包含关系
- 【IDEA】IDEA报错 illegal character U+00A0异常解决
- 接口测试--测试工具apipost脚本大全
- Azure HDInsight与Hadoop周边系统集成
- android抓socket数据包,sokit-1.3 CommMonitor 串行端口监视精灵 友善串口调试助手
- 无需拆机,Kindle 全系列 5.12.2.2 ~ 5.14.2版本如何越狱?如何安装第三方插件
- 递归实现斐波那契数列(Java)
- c1-02西班牙的语言,【图片】考试的同学看过来~DELE-C1两个月准备(实用经验+超详细流程)转【西班牙语吧】_百度贴吧...
- 屏蔽ctrl/shift + R/F5
- vc60.pdb打不开怎么办
- Qrious生成图片二维码
- 单片机 c语言 数字 0 9,单片机点阵式LED显示技术数字“0-9”
- 彻底解决第三方分享icon过大的问题
- firefox 14 vim化——Pentadactyl