一、数据库表结构
1、 分类表:dict_type
2、 子项表:dict_entry
二、页面维护功能示意图:
1、 分类管理 点击子项管理进入子项管理页面
2、子项管理
三、数据字典添加到缓存:
数据字典为了读取效率高效,减少与数据库的交互,通常会把数据字典所有数据添加到缓存当中,如果是一台服务器部署,只需放到本机中就可以,如果需要部署到多台服务器分布式部署的话需要把数据字典同步到Redis服务器中。
1、 springboot 在dictTypeService中把数据字典放到本机缓存中
对数据字典进行增删改查时需要调用refreshDictCache()方法来刷新缓存,保证缓存中数据为最新数据
2、 如果使用springboot + Redis做缓存的使用的方法,在dictTypeService中把数据字典放到Redis服务器中
@Cacheable(value="dictEntry", key="T(String).valueOf('dictEntryMap')")
使用此注解调用此方法时,系统会先从Redis服务器获取数据字典,如果取不到数据,系统会再去数据库读取。
@CacheEvict(value="dictEntry", key="T(String).valueOf('dictTypeNameMap')")
方法使用此注解,对数据字典进行增删改查时,系统会自动同步到Redis服务器,保证数据库数据与redis数据保持一致。
三、把数据字典做成自定义标签
1、 创建辅助类(自定义标签调用)
1 package