1、痛点
相信大多数程序员都做过Excel导入,国内开源届已经有非常多且很好用的Excel导入导出工具如:Easy POI,Easy Excel,My Excel等等。但是字典码 如男->gender 0,唯一键 username admin翻译为userId 1此类反向翻译工作要写非常多的代码。Easy-Trans的反向翻译功能只需要一个注解就可以搞定反向翻译,章节2我们来看看是如何使用的吧。
2、用法
2.1 字典翻译,可以把男翻译为gender 0 并且自动赋值到gender属性上。
private String genderName = "男; @UnTrans(type=UnTransType.DICTIONARY,dict="gender",refs = {"genderName"}) private Integer gender;
2.2 自动联表
根据学校名称自动查询学校id,并且赋值到schoolId属性。
private String schoolName; @UnTrans(type= UnTransType.SIMPLE,tableName = "t_school",refs = "schoolName",columns = "school_name",uniqueColumn = "id") private Integer schoolId;
根据多个字段(组合唯一键) 查询主键赋值。
private String studentName; private String studentAge; @UnTrans(type= UnTransType.SIMPLE,tableName = "t_user",refs = {"studentName","studentAge"},columns = {"name","age"},uniqueColumn = "user_id") private Integer userId;
多表关联查询写法参考多个字段写法。
3、组件介绍
支持的场景:
- 字典翻译 把 sex 0 翻译为男
- 普通外键翻译 / 唯一键翻译 框架使用 mp/jpa 能力自动帮你去执行 sql 根据外键查询 name/title 并且 set 到你的 vo 字段上
- 跨微服务翻译 比如 order (订单服务) user (用户服务) 是 2 个微服务,但是 order 要展示创建人姓名,表里只有 user id 可以使用跨微服务翻译
- 枚举翻译 把枚举中的汉字给到前端
- 反向翻译 把汉字反向翻译为字典码/id
亮点:
- 有效降低业务代码量
- 有着很好的微服务支持
-
有着很好的缓存支持
他们也在用:
小诺:https://gitee.com/xiaonuobase/snowy 5.6k star
maku-boot: https://gitee.com/makunet/maku-boot 11.3 k star
官网/文档站:
http://easy-trans.fhs-opensource.top/
4、支持的 ORM 框架
如果您使用了以下 ORM 框架都可以集成本插件做翻译:
- Mybatis Plus
- JPA
- TK Mybatis
- BeetlSQL
还没有评论,来说两句吧...