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:简单实现上述流程:
入门级实现:
: 部分源码实现.
: 源码实现
性能参数测试:
无
参考资料和推荐阅读
- 数据字典.
欢迎阅读,各位老铁,如果对你有帮助,点个赞加个关注呗!~