为什么字典表
某些变量在多个地方使用,而且一般是固定的,但是随着系统升级和后期变化,可能需要改变,如果这些变量写死在代码里面将会变得难以维护。
有的做法是使用枚举或者 Constants 常量类来实现,这种情况下在量少的前提是没问题的,但是一旦随着系统的开发拓展,后期将无法维护,甚至命名困难。
所以通常把字典放在数据库,这样后期的维护变更就比较简单,也可以在不用修改代码的情况下修改配置。
但是,放在数据库又有着频繁访问数据库的问题,这不是我们希望的,这时候通常做法就是加缓存,降低访问数据库的频率。
字典表的设计
通常分成两张表来实现,一个是字典类型,一个是字典
字典类型表: SYS_DICT_TYPE
字段名 | 类型 | 作用 | 备注 |
---|---|---|---|
code | varchar | 编码 | 主键 |
name | varchar | 类型 | - |
字典表 : SYS_DICT
字段名 | 类型 | 作用 | 备注 |
---|---|---|---|
code | varchar | 编码 | 主键 |
type_code | varchar | 类型 code | 外键 |
name | varchar | 字典名 | 展示用 |
value | varchar | 字典值 | 使用值 |
fixed | int | 是否是固定的 | default 0 不固定,固定的话用 1 |
以上是字典表的关键列和结构的设计,根据不同系统不同业务自定其他列。
作者:SevenLin1993
链接:http://www.jianshu.com/p/0034802afc1f
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。