EasyTrans 2.0.3 发布 让您少写30%的多表sql


更新内容:

  • 字典翻译支持 集合翻译 比如爱好有篮球,足球  对应的code=[0,1]
  • 添加国产orm beetl支持

支持的ORM框架

1、Mybatis Plus   

2、JPA   

3、 TK Mybatis

4、BeetlSQL

组件介绍:

表里我们经常存放字典码,外键 。给前端展示的时候要展示字典描述 (比如 sex 0 代表男),外键要显示 title/name (如 userid 1 要翻译为张三)。字典比较简单,很多项目都直接交给前端翻译,但是外键翻译是必须要后台来做的,最常见的做法就是 表 join ,这样又要自己写 sql 比较麻烦。使用 Easy Trans,只需要一个注解就可以搞定数据翻译。

 

支持的场景:

  •   字典翻译     把 sex 0 翻译为男
  •   普通外键翻译 / 唯一键翻译  框架使用 mp/jpa 能力自动帮你去执行 sql 根据外键查询 name/title 并且 set 到你的 vo 字段上
  •   跨微服务翻译   比如 order (订单服务)     user (用户服务) 是 2 个微服务,但是 order 要展示创建人姓名,表里只有 user id  可以使用跨微服务翻译
  •   枚举翻译   把枚举中的汉字给到前端

Trans 注解:

 程序员只需要掌握这一个注解就算熟练使用 EasyTrans 了,绝对不干让程序员掉更多头发的事情。

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
//实现TransPojo接口,代表这个类需要被翻译或者被当作翻译的数据源
public class Student implements TransPojo {
 // 字典翻译 ref为非必填
@Trans(type = TransType.DICTIONARY,key = "sex",ref = "sexName")
private Integer sex;

//这个字段可以不写,实现了TransPojo接口后有一个getTransMap方法,sexName可以让前端去transMap取
private String sexName;

//SIMPLE 翻译,用于关联其他的表进行翻译schoolName 为 School 的一个字段
@Trans(type = TransType.SIMPLE,target = School.class,fields = "schoolName")
private String schoolId;
	
	//远程翻译,调用其他微服务的数据源进行翻译
	@Trans(type = TransType.RPC,targetClassName = "com.fhs.test.pojo.School",fields = "schoolName",serviceName = "easyTrans",alias = "middle")
private String middleSchoolId;
	
	// 枚举翻译,返回文科还是理科给前端
	@Trans(type=TransType.ENUM,key = "desc")
private StudentType studentType = StudentType.ARTS;

public static enum StudentType{

ARTS("文科"),
SCIENCES("理科");

private String desc;
StudentType(String desc){
this.desc = desc;
}
}
}

项目地址:https://gitee.com/fhs-opensource/easy_trans

文档地址:https://gitee.com/fhs-opensource/easy_trans/wikis

 

 


相關推薦

2023-03-17

1、本次更新      1.1 翻译结果配置了ref属性之后 不再给transMap存放此属性      1.2 添加@TransSett 注解 用于指定本次翻译哪几个字段或者排除翻译哪几个字段      1.3 解决 ids翻译 ref设置报错问题 &

2023-10-28

MyBatis-Flex: 一个优雅的 MyBatis 增强框架 特征 1、很轻量 MyBatis-Flex 整个框架只依赖 MyBatis,再无其他任何第三方依赖。 2、只增强 MyBatis-Flex 支持 CRUD、分页查询、多表查询、批量操作,但不丢失 MyBatis 原有的任何功能

2022-08-10

lassName = "com.fhs.test.pojo.School",fields = "schoolName",serviceName = "easyTrans",alias = "middle") private String middleSchoolId;    本组件已经单独开源:https://gitee.com/fhs-opensource/easy_trans    2、每一个业务都可以有一个牛逼的父类  

2024-08-23

级 Mybatis-Plus 到 3.5.7 升级 dynamic-datasource 到 4.3.1 升级 easytrans 到 3.0.5 开源汇总 低代码开发平台(单体版):https://gitee.com/makunet/maku-boot 低代码开发平台(微服务):https://gitee.com/makunet/maku-cloud 超好用的代码生成器:h

2024-08-01

级 Mybatis-Plus 到 3.5.7 升级 dynamic-datasource 到 4.3.1 升级 easytrans 到 3.0.5 开源汇总 低代码开发平台(单体版):https://gitee.com/makunet/maku-boot 低代码开发平台(微服务):https://gitee.com/makunet/maku-cloud 超好用的代码生成器:h

2022-10-02

为 v2.0.1 正式版本,具体更新内容如下: 1.【新增】新增easyTrans和typehandel来替代 传统的join表和加解密 2.【更新】关闭satoken的最大登录限制 3.【修复】修复issues中单页管理-新增单页报错(#I5TZ60:单页管理-新增单页报错:单页管理

2024-08-01

简介:Jdao是一种创新的持久层解决方案。主要目的在于 减少编程量,提高生产力,提高性能,支持多数据源整合操作,支持数据读写分离,制定持久层编程规范。 灵活运用Jdao,可以在持久层设计上,减少30%甚至50%以上的编程

2024-03-19

放心升级,不用任何担心,完全没问题 1.4.4 更新:1.4.4发布 1. @TableField增加修改默认值 2. 动态数据源支持springboot3 自动装配 3. 数据库函数和条件方法增加null和空值等检测 4. 优化其他代码 mybatis-mp 包含丰富的 api: 1:基于注

2024-07-26

小伙伴们,Apache Doris 2.1.5 版本已于 2024 年 7 月 24 日正式发布。2.1.5 版本在湖仓一体、多表物化视图、半结构化数据分析等方面进行了全面更新及改进,同时在倒排索引、查询优化器、查询引擎、存储管理等 10 余方向上完成了若

2023-06-12

)和MariaDB 11.0.2(MariaDB 11.0系列的第一个稳定版本)已经发布。这两个版本都是短期版本,在各自的G.A(稳定版)发布后将被维护一年。 具体更新内容包括: v11.1.1 Notable Items transaction_isolation 选项现在是一个系统变量,

2024-07-17

enant-starter 2024年7月16日至今druid-multi-tenant-starter插件的已发布两年多。这个新工具的推出标志着一个高效、简便的SaaS多租户管理解决方案的诞生,为开发者提供了全新的便捷体验。 什么是druid-multi-tenant-starter? druid-multi-tenant-s

2024-03-16

放心升级,不用任何担心,完全没问题 1.4.3 更新:1.4.3发布 1.增加insert ignore 和 insert into select功能 2.优化sql拼接 3.修复了dbtype 动态读取问题 MySQL 数据库不影响 mybatis-mp 包含丰富的 api: 1:基于注解,映射数据库; 2:支持多

2024-03-12

1.4.2 更新: 1:增加forUpdate no Wait功能 2:增加Pager 静态方法 3:优化sql拼接 4:增加动态/多数据源支持(可分组)   mybatis-mp 包含丰富的 api: 1:基于注解,映射数据库; 2:支持多表 join 和返回; 3:api 采用 lambda 和 strea

2023-07-14

MyBatis-Flex: 一个优雅的 MyBatis 增强框架 特征 1、很轻量 MyBatis-Flex 整个框架只依赖 MyBatis,再无其他任何第三方依赖。 2、只增强 MyBatis-Flex 支持 CRUD、分页查询、多表查询、批量操作,但不丢失 MyBatis 原有的任何功能