1      数据字典

1.1     什么是数据字典

将如下这些具有相同类型的配置项,配置到系统的数据字典表中,方便系统维护,由超级管理员统一在后台进行数据字典维护,如果用户需求要增加变更配置项,只需要修改数据字典表记录即可,不需要修改代码。

1.2     数据字典需求

相同类型的配置项:

在系统中创建一个张记录数据字典类型  数据字典类型表记录数据的类型(例如用户状态)

创建一张表记录数据字典明细:(例如用户状态为正常 暂停)

数据字典明细表

将上边变化灵活的配置项叫做:“普通配置项

将上边固定的配置项(每个配置顶都有一个代码):“业务代码

1.3     数据字典表结构

字典类型表DICTTYPE:

记录数据字典类型

字典明细表DICTINFO:

记录数据字典明细

   

字典明表中如何存储普通配置项和业务代码。

普通配置项存储:

普通配置项名称存储在DICTINFO表中info字段

普通配置项对应的类型id存储在DICTINFO表中TYPECODE

查询普通配置顶:

业务代码存储:

业务代码对应的名称存储在DICTINFO表中info字段

业务代码对应的类型id存储在DICTINFO表中TYPECODE

业务代码存储在DICTINFO表中DICTCODE(是和普通配置顶的区别)

业务代码查询:

1.4     数据字典使用

1、在页面上的下拉框中显示业务代码或普通配置

比如:在系统用户查询页面,查询条件就是用户类型,用户类型不能在jsp上硬编码,需要在action方法中取出用户类型所有配置项,在jsp页面动态遍历。

2、在查询业务表需要关联查询出业务代码对应的名称

在查询业务表时,根据业务代码,关联查询出代码对应的名称。

关联查询字典明细时指定业务代码和类型id

3、在查询业务表需要关联查询出普通配置项所对应的名称

关联查询字典明细时指定明细表的主键

1.5     小结

普通配置项:对业务数据进行简单的归类,这些归类受用户要求变化较灵活,将这些配置项作普通配置项配置数据字典表。

业务代码:系统运行所必须的,在系统设计时定义的固定代码,这些代码可能需要在程序代码进行硬编码。

1.6     数据字典在系统中应用

1.6.1          用户查询页面用户类型下拉框

用户类型:属于业务代码

获取用户类型下所有明细:

从数据字典明细表查询,根据typecode查询

Action:

修改用户查询页面方法,调用systemConfigService查询用户类型信息,将用户类型列表信息传入页面。

// 用户查询页面

@RequestMapping("/queryuser")

public String queryuser(Modelmodel)throwsException {

//将页面所需的数据取出传入页面

List<Dictinfo>groupList =systemConfigService.findDictinfoByType("s01");

model.addAttribute("groupList",groupList);

return"/base/user/queryuser";

}

页面:

将用户类型下拉框值,改成遍历groupList列表。

<TDclass="left">用户类型:</TD>

<td><selectname="sysuserCustom.groupid">

<option value="">请选择</option>

<!-- <option value="1">卫生局</option>

<optionvalue="2">卫生院</option>

<optionvalue="3">卫生室</option>

<optionvalue="4">供货商</option>

<optionvalue="0">系统管理员</option> -->

<c:forEach items='${groupList}'var="dictinfo">

<option value="${dictinfo.dictcode}">${dictinfo.info}</option>

</c:forEach>

</select>

</TD>

1.6.2          用户查询列表中用户类型列

Dao:

修改用户查询列表mapper,添加一列需要关联用户类型的代码查询代码对应的名称。

页面:

修改datagrid的列定义,

{

field : 'groupname',//对应json中的key

title : '用户类型',

width : 120,

/* formatter : function(value, row,index) {//通过此方法格式化显示内容,value表示从json中取出该单元格的值,row表示这一行的数据,是一个对象,index:行的序号

if(value =='1'){

return "卫生局";

}else if(value =='2'){

return "卫生院";

}else if(value =='3'){

return "卫生室";

}else if(value =='4'){

return "供货商";

}else if(value =='0'){

return "系统管理员";

}

} */

}

普通配置项下拉框

查询出普通配置项列表,

页面中下拉框遍历list(option的value是${dictinfo.id})

<c:forEachitems="${list}"var="dictinfo">

<option value="${dictinfo.id }">${dictinfo.info}</option>

</c:forEach>

数据字典及其使用(方案一)相关推荐

  1. oracle开发数据库试题,Oracle_开发数据库试题.doc

    Oracle_开发数据库试题 Oracle_开发数据库选择题1 1.()是Oracle维护数据库中其他文件的列表.数据库名称和系统改变号(SCN)的文件. A. 控制文件.B. 参数文件.C. 数据文 ...

  2. 网际风全推数据接口_智能风控系统设计与实践

    导读 在主流互联网产品中,比如搜索和推荐的系统,为了挖掘用户潜在购买需求,缩短用户到商品或信息的距离,提高用户的使用体验,都需要使用大量的特征来刻画用户的行为.在信息安全领域,建立在人工智能技术之上的 ...

  3. 智能风控系统设计与实践

    导读 在主流互联网产品中,比如搜索和推荐的系统,为了挖掘用户潜在购买需求,缩短用户到商品或信息的距离,提高用户的使用体验,都需要使用大量的特征来刻画用户的行为.在信息安全领域,建立在人工智能技术之上的 ...

  4. Vue 利用后端的数据字典和Map对象实现表格列字段动态转义的处理方案

    Vue中,使用el-table组件,经常遇到列字段转义的问题.常规处理方法有以下两种: 方法1:在模板中使用v-if,直接转义.如: N Y 方法2:使用formatter,进行转义处理,如:   在 ...

  5. 数据字典项设计实现方案

    最近被安排做数据字典的设计,本人一头雾水啊,没弄过啊,网上搜索一下,这个老兄写的很好,原文链接:http://blog.csdn.net/stevene/article/details/575142? ...

  6. sqldeveloper导出数据字典_如何全面建设B端产品中的数据迁移方案

    加关注,带你看世界 在新系统替换老系统或者系统升级的项目中,难免会存在数据迁移的工作,并且随着业务系统和数据结构的复杂性,数据迁移的难度越大. 这亦要求在项目实施的前期,根据客户的需求尽可能全面地考虑 ...

  7. springboot 数据字典设计思路:字典表+字典枚举 两者兼故方案

    方式一:使用字典表存取 说明:适合于前端页面使用的下拉框数据值.或者字典数据不固定有变化调整的字典,建议放在数据表中维护. 直接借鉴Ruoyi框架提供的2张字典表,sys_dict_type(字典类型 ...

  8. 从原则、方案、策略及难点阐述分库分表

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq_34173549/article/details/79936693 一.分库分表原则 关系型数据 ...

  9. MySQL 大表优化方案

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:manong sf.gg/a/119000000615818 ...

最新文章

  1. Ubuntu用户设置文件说明
  2. BeanUtils的方法
  3. 知识图谱实践篇(三):D2RQ SPARQL endpoint与两种交互方式
  4. SQL语句执行效率及分析(note)
  5. 开源分布式中间件 DBLE 快速入门指南
  6. 在Spring Framework中通过JNDI进行配置
  7. Taro+react开发(51) 数组对象和数组得处理
  8. mysql数据库开发环境_MacOS下搭载开发环境之数据库篇(Mysql + Navicat)
  9. php gis,对php代码混淆的研究
  10. Android应用程序与SurfaceFlinger服务的连接过程分析
  11. mysql存储过程的正确描述_MySQL存储过程中的基本函数描述
  12. 春Phone计划 51cto沙龙上海站
  13. ELK详解(四)——Head插件安装
  14. MSSQL优化教程之1.4 其他几种类型的页面
  15. idea svn回退版本_mac下使用svn通过终端回退版本到某个版本号 - 博客频道 - CSDN.NET...
  16. 上计算机课没有签到肿么办,钉钉教学直播如何课前签到 钉钉直播如何提醒未签到的学生...
  17. 英语音标音节与自然拼读总结
  18. pr如何处理音效,如何让你的声音变得干净又清晰?PR音频降噪教程
  19. Web前端工程师VS前端工程师,谁的薪资更上一筹?
  20. 天水市师院计算机系好吗,天水师范学院专业排名及介绍 哪些专业最好

热门文章

  1. 红外线遥控器原理及编程
  2. 网站建设费用要多少?这些内容要了解
  3. 车企接连押注「重感知」 ,高精地图真会被弃用?
  4. ssm毕设项目基于微信的的高校起床协会管理61rmm(java+VUE+Mybatis+Maven+Mysql+sprnig)
  5. 毕业设计 嵌入式 智能MP3音乐播放器设计与实现 - 物联网
  6. Word 2003域应用完全手册 1
  7. 计算机应用数学基础,《计算机应用数学基础》冯天祥 编_孔网
  8. 信息奥赛一本通(1058:求一元二次方程)
  9. 你能通过图灵测试吗?
  10. 用MATLAB画SCI论文图(附全部代码)