Java 数据字典的实现

  • Post author:
  • Post category:java


Survive by day and develop by night.

talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,challenge Survive.

happy for hardess to solve denpendies.



目录

在这里插入图片描述



概述

记得第一次接触数据字典还是第一个项目,是用简单的hashmap实现了,

现在做一个笔录吧,8年之久了,



需求:

1.本质就是hashMap的管理:

2,可以吧常见的属性信息,字段属性,常量等维护到这里去。可以认为constant的升级版。



设计思路

 @Autowired
    private SysDictDataMapper dictDataMapper;

    private static HashMap<String, String> hashMap = new HashMap<>();

    public static DictMap dictMap;



实现思路分析



1.从数据库中字典

 @PostConstruct
    public void queryDic() {

        dictMap = this;
        dictMap.dictDataMapper = this.dictDataMapper;

        System.out.println("初始化");

        List<SysDictData> dics = dictMap.dictDataMapper.selectDictDataAll();

        for (int i = 0; i < dics.size(); i++) {
            SysDictData dic = dics.get(i);

            String fieldName = dic.getDictType();
            String fieldValue = dic.getDictValue();
            String key = fieldName + "_" + fieldValue;
            String value = dic.getDictLabel();
            System.out.println(key + "=" + value);
            hashMap.put(key, value);
        }
    }



2.获取字典的数值

  /**
     * 获取字典
     *
     * @param fieldName
     * @param fieldValue
     * @return
     */
    public static String getFieldDetail(String fieldName, String fieldValue) {
        StringBuilder sb = new StringBuilder();
        StringBuilder keySb = sb.append(fieldName).append("_").append(fieldValue);
        String key = keySb.toString();
        String value = hashMap.get(key);
        return value;
    }

大概逻辑框架建立之后就剩下对应的填充数据数据库字段数值了。



拓展实现

这里参考:github:简单实现上述流程:

入门级实现:

:

部分源码实现

.

: 源码实现



性能参数测试:



参考资料和推荐阅读


  1. 数据字典

    .

欢迎阅读,各位老铁,如果对你有帮助,点个赞加个关注呗!~



版权声明:本文为xiamaocheng原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。