1. 程式人生 > 實用技巧 >Java之資料字典實現

Java之資料字典實現

資料字典核心程式碼實現:

@Component
public class DictMap {
    @Autowired
    private SysDictDataMapper dictDataMapper;

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

    public static DictMap dictMap;

    /**
     * 從資料庫中取值放入到HashMap中(儲存字典)
     */
    @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); } }
/** * 獲取字典 * * @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; } }

程式碼引用:

@Data
public class UserVo implements Serializable {


    private Long userId;

    private String sex;

    public String getSex() {
        return sex = DictMap.getFieldDetail("sex_type", sex);
    }
}