利用注解从缓存读取列表中涉及的数据字典

  • 在需要显示字典项的字段所对应的OR模型上,利用注解方式,在后台对列表数据进行Json序列化时,添加一个子类,字段值从缓存(本方案中采用memcached缓存)中加载的字典中读取。

     model类写法:
    
     ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190326172438784.jpg)
     注解类:
     import com.fasterxml.jackson.core.JsonGenerator;
     import  com.fasterxml.jackson.core.JsonProcessingException;
      import com.fasterxml.jackson.core.JsonStreamContext;
      import com.fasterxml.jackson.databind.JsonSerializer; 
      import com.fasterxml.jackson.databind.SerializerProvider;
      import com.framework.admin.dict.model.DictItem;
      import com.framework.admin.dict.util.DictItemUtil; 
      import com.framework.utils.string.StringUtil; import java.io.IOException;
     
     public class DictJsonSerialize   extends JsonSerializer<String> {  
     public void serialize(String str, JsonGenerator generator,SerializerProvider provider)
         throws IOException, JsonProcessingException   {
         String attrName = generator.getOutputContext().getCurrentName();
         if (StringUtil.isNotEmpty(attrName))
         {
           generator.writeStartObject();
           if (StringUtil.isNotEmpty(str))
           {
             generator.writeStringField(attrName, str);
             DictItem dictItem = DictItemUtil.getItemByItemFullCode(str);
             if (dictItem != null) {
               generator.writeStringField(attrName + "Name", dictItem.getItemName());
             } else {
               generator.writeStringField(attrName + "Name", "");
             }
           }
           else
           {
             generator.writeStringField(attrName, "");
             generator.writeStringField(attrName + "Name", "");
           }
           generator.writeEndObject();
         }   } }
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值