自定义字典运用

字典数据模型

CREATE TABLE `mdiy_dict` (
`dict_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '编号',
`app_id` int(11) DEFAULT NULL COMMENT '应用编号',
`dict_value` varchar(100) COLLATE utf8_bin DEFAULT NULL COMMENT '数据值',
`dict_label` varchar(100) COLLATE utf8_bin NOT NULL COMMENT '标签名',
`dict_type` varchar(100) COLLATE utf8_bin NOT NULL COMMENT '类型',
`dict_description` varchar(100) COLLATE utf8_bin DEFAULT NULL COMMENT '描述',
`dict_sort` int(10) NOT NULL DEFAULT '0' COMMENT '排序(升序)',
`dict_parent_id` varchar(64) COLLATE utf8_bin DEFAULT '0' COMMENT '父级编号',
`is_child` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '子业务数据类型',
`dict_remarks` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '备注信息',
`create_by` int(64) DEFAULT '0' COMMENT '创建者',
`create_date` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` int(64) DEFAULT '0' COMMENT '更新者',
`update_date` datetime DEFAULT NULL COMMENT '更新时间',
`del` int(1) NOT NULL DEFAULT '0' COMMENT '删除标记',
PRIMARY KEY (`dict_id`),
KEY `fk_mdiy_dict` (`app_id`) USING BTREE,
KEY `dict_value` (`dict_value`) USING BTREE,
KEY `dict_label` (`dict_label`) USING BTREE,
CONSTRAINT `mdiy_dict_ibfk_1` FOREIGN KEY (`app_id`) REFERENCES `app` (`app_id`) ON DELETE CASCADE ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=343 DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='字典表';

自定运用场景:下拉数据源,需要动态改变,又不是跟业务数据相关联的,而且数据用户自己可配置。

主要字段说明

  • 标签:展示的数据。
  • 数据值:保存至业务关联,定好就不允许修改,一般直接将主键保存至该字段,确保后续业务完整。
  • 类型:数据类型,同一类型下的标签不允许重复。
  • 子业务数据类型:不同的子业务扩展类型,例如:文章和商品可能都存在同一个类型,就可以用该分类区分;前后端的数据分类区分。

自定义字典运用小技巧:使用字典的时候数据库都是保存数据值,但在界面上展示又是对应的标签名称,开发者可能考虑到每次都去查询数据库特别麻烦,其实我们可以这样处理,平台用到所有的字典数据都返回在一个公共的地方,每次只需要根据对应的数据值获取到对应的标签名就行,本系统默认将自定义字典的主键保存至数据值,以确保唯一性。

results matching ""

    No results matching ""