参考:http://t.csdnimg.cn/xP7oS

http://t.csdnimg.cn/wbphY

http://t.csdnimg.cn/6jMgX(主要)

①某些变量在多个地方使用,而且一般是固定的,但是随着系统升级和后期变化,可能需要改变,如果这些变量写死在代码里面将会变得难以维护,所以要将其从代码中抽离出来。②一般的业务系统客户端与用户交互的时候都会使用下拉框组件,对于某些比较固定的值的下拉组件的数据来源一般都是比较固定的一类数值。

字典表的设计:通常分成两张表来实现,一个是字典类型表,一个是字典表。字典类型应该是不可编辑的,因为字典类型通常会和具体代码实现紧密联合,如果非要进行编辑的话需要考虑到对代码的影响以及如何保证修改之后系统正常工作。

说白了就是比如有个表,其中的某个某些字段需要再细分,(下拉框多选项)如果有很多字段需要,每个去弄一个细分表,那么就会多了很多个表,最后查询就是变成对很多张表的join操作,太可怕了。于是设计将字典定义和数据分开,一个是字典类型表,一个是字典数据表。两张表通过字典类型字段dict_type关联。

若依

若依框架提供的字典表结构:ruoyi有两张字典相关表,一个字典类型表sys_dict_type,一个字典数据表sys_dict_data,将字典定义和数据分开。
实现方式:

  1. 两张表都有字段dict_type
  2. a表的id主键,b表有一个dict_id对应它

分层级:

  1. 数据库表:递归,parentId
  2. 枚举类(类加载)
  3. redis查询不同类型下的字典的key和value,给前端展示


 

Logo

快速构建 Web 应用程序

更多推荐