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、每一个业务都可以有一个牛逼的父类  

2022-10-02

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

2024-03-19

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

2023-06-12

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

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 原有的任何功能

2024-01-06

mybatis-mp 包含丰富的 api: 1:基于注解,映射数据库; 2:支持多表 join 和返回; 3:api 采用 lambda 和 stream 流式设计; 4:内置分页以及超强的 sql 优化功能; 5:稳定且性能极优; 6:轻量级封装 mybatis,几乎没有侵入; 7:

2024-01-02

mybatis-mp 包含丰富的 api: 1:基于注解,映射数据库; 2:支持多表 join 和返回; 3:api 采用 lambda 和 stream 流式设计; 4:内置分页以及超强的 sql 优化功能; 5:稳定且性能极优; 6:轻量级封装 mybatis,几乎没有侵入; 7:

2023-12-12

全新一代基于 mybatis 扩展的 orm 框架,拥有良好的性能和扩展性。 1:基于注解,映射数据库; 2:支持多表 join 和返回; 3:api 采用 lambda 和 stream 流式设计; 4:内置分页以及超强的 sql 优化功能; 5:稳定且性能极优; 6:

2024-02-05

mybatis-mp 包含丰富的 api: 1:基于注解,映射数据库; 2:支持多表 join 和返回; 3:api 采用 lambda 和 stream 流式设计; 4:select 自动化以及结果 1 对 1,1 对多,超级方便快捷; 5:内置分页以及超强的 sql 优化功能; 6:稳定

2024-02-28

mybatis-mp 包含丰富的 api: 1:基于注解,映射数据库; 2:支持多表 join 和返回; 3:api 采用 lambda 和 stream 流式设计; 4:select 自动化以及结果 1 对 1,1 对多,超级方便快捷; 5:内置分页以及超强的 sql 优化功能; 6:稳定