美文网首页
自定义注解+反射 注入字典值到实体类

自定义注解+反射 注入字典值到实体类

作者: HarryChoy | 来源:发表于2019-01-09 16:37 被阅读0次

一.情况

开发中某个数据表查询出来的数据中有多个字段为字典码,需要从字典表中取出对应的字典值返回到前端。比如省份ID为01,产品品牌为C000,展示到前端希望是对应的省份名称,产品品牌名称。

数据表如下:

字典表数据样例如下:

二.思考与实现

字典表记录数据不多,可以考虑使用自定义注解+反射。在实体需要获取值的字段上加自定义注解,通过反射把值注入到对应的字段。

核心:通过实体类的字典码和注解类型找到对应的字典值,然后注入到对应要注入的字段。

具体实现:

1.自定义注解

2.实体类

public class CustInfo {

        @BaseDataAnnotation(fieldType ="SALES_BRAND", fieldName ="custTypeName")

        private StringcustType;

        @BaseDataAnnotation(fieldType ="PROV_ID", fieldName ="provinceName")

        private StringprovinceCode;

}

3.转换工具类

三.总结

数据表实现了转义功能,但是有可以优化的空间。

1.可以把字典表数据load到redis,设置失效时间,读取字典数据从redis取,取不到则从数据库load字典数据到redis,避免每次查询从数据库把字典数据放到内存,也可以在准确性要求不是特别高情况下使用。

2.可以在mybatis拦截器中把数据转换,需要转换的加上拦截器即可,方便调用。

3.在不考虑系统分库分表情况下,可以使用函数解决。

相关文章

网友评论

      本文标题:自定义注解+反射 注入字典值到实体类

      本文链接:https://www.haomeiwen.com/subject/gddgrqtx.html