关键词搜索

源码搜索 ×
×

字典表(还需要输入2个字)

发布2022-08-02浏览608次

详情内容

字典表,是提供项目中一些字段的值,比如某个省的城市列表,或者海洋排污口的类型,等等。其作用,类似于系统开发过程中的数据字典,除了供查阅、备忘外,主要还是为了统一口径和标准。字典表就是将这些统一口径值(标准值)存储下来,供程序读取。

最典型的表现,就是页面中的下拉框。这些值从哪里来?就应该从字典表中读取。否则,要么是直接写死在前端页面,但就有个与服务器端保持一致的问题;要么还是从服务器端返回,但变成写死在服务器端,这样用户就不能再修改和维护了。

字典表就有这么个好处,将选项存储在数据库,服务器端读取后返回给前端,保持了一致性;同时提供界面,用户可以维护。两全其美。

一、字典值修改问题

如果字典表的值修改了怎么办?

修改了就修改了。别的下拉框值提供方式,一样会有值修改的问题。如果想减低值修改带来的成本,可以采用code和text的方式。比如下拉框,是一个select选择器,

<option value="code">text</option>
  • 1

code修改的机率小一些,text修改的机会大一些。我们拿到下拉框值后,保存这个code,text只是用于展示。

但不是所有情况都适用,有code和text相同的情况。比如选城市,code和text应该都是城市名称。

二、字典表与枚举

枚举值是解决硬编码问题,避免在代码中出现类似

if( v == 1 ){
。。。
}
  • 1
  • 2
  • 3

这种情况。以前我就常常用于从服务器端读取枚举集合,返回给前端做下拉框选项。弊端前面说过了,就是客户不能更改,不方便,欠缺灵活性。枚举不能代替字典表。

三、字典表的结构

两个表。一个主表(字典表),一个从表(字典值表)。
在这里插入图片描述

四、字典表的使用

字典表其实只是一个字典,其值最好仅供读取,读取后,值可以存储于其他表,避免其他表与字典表关联。当然如果其他表存储了 dictionary.key 和 dictionary_item.code,展示时需要关联这个dictionary_item.text,也未尝不可,麻烦一些。

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载