设备资源管理系统-数据字典
用户信息表:
用户ID(主键) 姓名 年龄 性别 所属单位 住址 是否在职
1 张三 23 1 1 北京上地环岛 1
2 李四 22 2 2 上海浦东 1
3 王五 22 1 3 深圳梅沙 1
4 赵六 24 1 1 北京中关村 2
填进(错误数据)
系统引入数据字典进行数据类型的维护:
code name 数据类型
1 男 性别
2 女 性别
1 北京 所属单位
2 上海 所属单位
3 深圳 所属单位
4 天津 所属单位
1 是 是否在职
2 否 是否在职
统计员工性别:
男:3
女:1
统计所属单位:
北京:2
上海:1
深圳:1
下拉菜单(所属单位):
北京
上海
深圳
天津
--------------------
使用数据字典可动态生成数据。
优点:
1、根据数据类型,可以动态生成数据项。
2、便于对系统的数据进行统计,统计所属单位、性别、是否在职等字段。
3、可以维护系统的基本数据项。
表设计:
特点:
1、数据项的code不能出现重复,且从1开始,按照顺序排列
2、数据项的name不能出现重复
3、数据类型、数据项code、数据项name不能为空
操作:
1、组织HQL语句,查询数据库,注意(HQL语句,使用disctinct,将重复值去掉,显示数据类型列表)
2、从PO对象转换VO的表单输出对象
操作:(异步调用)
1、获取页面传递的“数据类型(keyword)”的值
2、组织HQL语句,通过数据类型进行查询,获取数据类型中对应的数据项的code和value值。
3、查询的结果,从PO对象转换成VO对象
传递参数:
1、hidden:keywordname,用来存放需要保存的数据类型
2、hidden:typeflag,用来判断保存是新增还是在原有数据类型的基础上修改
参数new:新增一种数据类型
参数add:在原有的数据类型的基础上修改
3、input=text:itemname,传递一个String类型的数组,用于存放数据项的name值
操作:
1、接收3个传递的参数keywordname、typeflag、itemname[]。
2、判断typeflag是‘new’还是‘add’
(1)如果typeflag=new
i、将传递的参数组成PO(ElecSystemDDl)对象。
ii、执行save()
(2)如果typeflag=add
i、通过keywordname,查询该keywordname下对应的数据集合,返回的是一个list,调用delete方法,删除该数据类型下的值
ii、将传递的参数组成PO(ElecSystemDDl)对象。
iii、执行save()
原数据:
数据类型 数据项code 数据项name
所属单位 1 北京
所属单位 2 上海
所属单位 3 深圳
现数据:
数据类型 数据项code 数据项name
所属单位 1 北京
所属单位 2 天津
所属单位 3 深圳
所属单位 4 郑州
所属单位 5 沈阳
针对以上有两种实现方式:
第一种方式:
1,2,3用于修改
4~…用于新增
第二种方式:(采用第二种方式)
通过数据类型,先删除所有该数据类型下数据,再组织参数保存到数据库
原文:http://www.cnblogs.com/yangml/p/3817505.html