当前位置:网站首页>字典表(还需要输入2个字)
字典表(还需要输入2个字)
2022-08-03 15:43:00 【左直拳】
字典表,是提供项目中一些字段的值,比如某个省的城市列表,或者海洋排污口的类型,等等。其作用,类似于系统开发过程中的数据字典,除了供查阅、备忘外,主要还是为了统一口径和标准。字典表就是将这些统一口径值(标准值)存储下来,供程序读取。
最典型的表现,就是页面中的下拉框。这些值从哪里来?就应该从字典表中读取。否则,要么是直接写死在前端页面,但就有个与服务器端保持一致的问题;要么还是从服务器端返回,但变成写死在服务器端,这样用户就不能再修改和维护了。
字典表就有这么个好处,将选项存储在数据库,服务器端读取后返回给前端,保持了一致性;同时提供界面,用户可以维护。两全其美。
一、字典值修改问题
如果字典表的值修改了怎么办?
修改了就修改了。别的下拉框值提供方式,一样会有值修改的问题。如果想减低值修改带来的成本,可以采用code和text的方式。比如下拉框,是一个select选择器,
<option value="code">text</option>
code修改的机率小一些,text修改的机会大一些。我们拿到下拉框值后,保存这个code,text只是用于展示。
但不是所有情况都适用,有code和text相同的情况。比如选城市,code和text应该都是城市名称。
二、字典表与枚举
枚举值是解决硬编码问题,避免在代码中出现类似
if( v == 1 ){
。。。
}
这种情况。以前我就常常用于从服务器端读取枚举集合,返回给前端做下拉框选项。弊端前面说过了,就是客户不能更改,不方便,欠缺灵活性。枚举不能代替字典表。
三、字典表的结构
两个表。一个主表(字典表),一个从表(字典值表)。
四、字典表的使用
字典表其实只是一个字典,其值最好仅供读取,读取后,值可以存储于其他表,避免其他表与字典表关联。当然如果其他表存储了 dictionary.key 和 dictionary_item.code,展示时需要关联这个dictionary_item.text,也未尝不可,麻烦一些。
边栏推荐
- AWS中国区SDN Connector
- 使用VS Code搭建ESP-IDF环境
- GTK实现旋转加载动画
- 【数据库数据恢复】SqlServer数据库无法读取的数据恢复案例
- opencv 读取和写入路径有汉字的处理方法
- 王守创:多组学整合分析揭示植物代谢多样性的分子机制(8月2号晚)
- 0 code 4 steps to experience IoT devices on the cloud
- 一个在浏览器中看到的透视Cell实现
- 如何将二维空间先验注入到ViT中? UMA&港理工&阿里提出SP-ViT,为视觉Transformer学习2D空间先验知识!...
- 2021年12月电子学会图形化二级编程题解析含答案:消灭蝙蝠
猜你喜欢
自定SvgIcon公用组件
问题5:发现缺陷怎么办?缺陷的类型有哪些?
nodeJs--跨域
ubiquant量化竞赛
MySQL性能优化的'4工具+10技巧'
Three key expectations for the crypto market in August Price moves north?Still expected to be in turmoil
Js array method is summarized
Daily practice------There are 10 numbers that are required to be output from large to small by selection method
土耳其国防部:联合协调中心将对首艘乌克兰粮船进行安全检查
深入浅出Flask PIN
随机推荐
AWS中国区SDN Connector
Internship Road: Documenting Confusion in My First Internship Project
Neural networks, cool?
一个在浏览器中看到的透视Cell实现
问题4:什么是缺陷?你们公司缺陷的优先级是怎样划分的?
小熊派——无线联网开发
How to prevent hacking Windows server security Settings
兔起鹘落全端涵盖,Go lang1.18入门精炼教程,由白丁入鸿儒,全平台(Sublime 4)Go lang开发环境搭建EP00
leetcode-105 从前序与中序遍历序列构造二叉树-使用栈代替递归
JD6606SP5_JD6606SSP_JD6606SASP_JD6621W7百盛新纪元授权代理商
文件包含之伪协议的使用
49 万奖金等你来拿!第四届实时计算 Flink 挑战赛启动,Beyond Stream Processing!
GTK实现旋转加载动画
NodeJs - cross domain
1、实例开启无锁表结构变更以后,在任务编排中通过“单实例SQL”节点进行的结构变更,是优先采用无锁表
开源一夏 | 阿里云物联网平台之极速体验
新版本的 MaxCompute 中,SQL支持的 LIMIT OFFSET 的语法是什么功能?
开源一夏 | 打工人的第25天-曾经的考研人
cmd 关闭端口
爬虫注意