Database data is initialized into the program @PostConstruct annotation

1. Scene

: During the process of program startup, data needs to be loaded from the database and cached in the memory of the program.

2. Code example

private final Map<String, String> drugTypeMap = new HashMap<>();

    private Map<String, String> drugUnitMap = new HashMap<>();

    private Map<String, String> chineseMedicineUnitMap = new HashMap<>();

    private Map<String, String> chineseMedicineSpecificationMap = new HashMap<>();

    private Map<String, String> consumableTypeMap = new HashMap<>();

    private Map<String, String> consumableUnitMap = new HashMap<>();

    private Map<String, String> consumableEquipmentTypeMap = new HashMap<>();

    private Map<String, String> consumableEquipmentUnitMap = new HashMap<>();

    @PostConstruct
    private void init(){
        // 数据字典回显
        List<SysDictOptionRep> drugTypeDicts =
                sysDictOptionMapper.listByKey(SysDictKeyConsts.DRUG_TYPE);
        Map<String, String> drugTypeMap = ListUtils.toMap(drugTypeDicts,
                SysDictOptionRep::getOptionValue, SysDictOptionRep::getOptionLabel);
        List<SysDictOptionRep> drugUnitDicts =
                sysDictOptionMapper.listByKey(SysDictKeyConsts.DRUG_UNIT);
        drugUnitMap = ListUtils.toMap(drugUnitDicts,
                SysDictOptionRep::getOptionValue, SysDictOptionRep::getOptionLabel);
        List<SysDictOptionRep> chineseMedicineUnitDicts =
                sysDictOptionMapper.listByKey(SysDictKeyConsts.CHINESE_MEDICINE_UNIT);
        chineseMedicineUnitMap = ListUtils.toMap(chineseMedicineUnitDicts,
                SysDictOptionRep::getOptionValue, SysDictOptionRep::getOptionLabel);
        List<SysDictOptionRep> chineseMedicineSpecificationDicts =
                sysDictOptionMapper.listByKey(SysDictKeyConsts.CHINESE_MEDICINE_SPECIFICATION);
        chineseMedicineSpecificationMap = ListUtils.toMap(chineseMedicineSpecificationDicts,
                SysDictOptionRep::getOptionValue, SysDictOptionRep::getOptionLabel);
        List<SysDictOptionRep> consumableTypeDicts =
                sysDictOptionMapper.listByKey(SysDictKeyConsts.COMSUMABLE_TYPE);
        consumableTypeMap = ListUtils.toMap(consumableTypeDicts,
                SysDictOptionRep::getOptionValue, SysDictOptionRep::getOptionLabel);
        List<SysDictOptionRep> consumableUnitDicts =
                sysDictOptionMapper.listByKey(SysDictKeyConsts.COMSUMABLE_UNIT);
        consumableUnitMap = ListUtils.toMap(consumableUnitDicts,
                SysDictOptionRep::getOptionValue, SysDictOptionRep::getOptionLabel);
        List<SysDictOptionRep> consumableEquipmentTypeDicts =
                sysDictOptionMapper.listByKey(SysDictKeyConsts.EQUIPMENT_TYPE);
        consumableEquipmentTypeMap = ListUtils.toMap(consumableEquipmentTypeDicts,
                SysDictOptionRep::getOptionValue, SysDictOptionRep::getOptionLabel);
        List<SysDictOptionRep> consumableEquipmentUnitDicts =
                sysDictOptionMapper.listByKey(SysDictKeyConsts.EQUIPMENT_UNIT);
        consumableEquipmentUnitMap = ListUtils.toMap(consumableEquipmentUnitDicts,
                SysDictOptionRep::getOptionValue, SysDictOptionRep::getOptionLabel);
    }```

## 三、配图

![在这里插入图片描述](https://img-blog.csdnimg.cn/fec9b6f3de6840b6881c900116bc68f1.png)

Guess you like

Origin blog.csdn.net/qq_44798321/article/details/130399319