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. 数据字典.

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迅捷的软件产品制作专家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值