在项目开发中常常会看见一些下拉框选项,比如性别、人员学历等等。这些都是通过数据字典表来维护的,即在数据库创建一个数据字典表,将数据分类和详细信息保存在一张表中,实现无限极树形节点,实现基于global的查询。

 数据字典的作用:

  1. 贯穿系统的所有数据项,开发过程中,动态的维护系统数据项。如下图,左侧数据字典编辑页面维动态维护右侧各下拉框选项:     
  2. 保证数据的录入安全,业务表使用数据字典的时候,存放的是数据项的编号,而不是数据项的值:         
  3. 方便系统的统计

数据库的设计:

#数据字典
CREATE TABLE Elec_SystemDDL(SeqID INT NOT NULL,          #主键ID(自增长)Keyword VARCHAR(20)   NULL,  #数据类型DdlCode INT  NULL,           #数据项的codeDdlName VARCHAR(50)  NULL    #数据项的value
)

创建相应JavaBean和xml映射文件:

  1.创建Elec_SystemDDL.java文件

@SuppressWarnings("serial")
public class ElecSytemDDL implements Serializable{private Integer seqID;private String keyword;private Integer ddlCode;private String ddlName;public Integer getSeqID() {return seqID;}public void setSeqID(Integer seqID) {this.seqID = seqID;}public String getKeyword() {return keyword;}public void setKeyword(String keyword) {this.keyword = keyword;}public Integer getDdlCode() {return ddlCode;}public void setDdlCode(Integer ddlCode) {this.ddlCode = ddlCode;}public String getDdlName() {return ddlName;}public void setDdlName(String ddlName) {this.ddlName = ddlName;}}

  2.创建对应的hbm.xml文件 ElecSystemDDL.hbm.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="cn.elec.domain"><class name="ElecSystemDDL" table="Elec_SystemDDL"><id name="seqID" type="integer" column="seqID"><generator class="increment"></generator></id><property name="keyword" type="string" column="keyword"></property><property name="ddlCode" type="integer" column="ddlCode"></property><property name="ddlName" type="string" column="ddlName"></property></class>
</hibernate-mapping>

  3.在hibernate.cfg.xml文件中添加:

<mapping resource="ElecSystemDDL.hbm.xml文件路径名"/>

创建DAO接口及其实现类:

  1.创建DAO接口: IElecSystemDDLDao.java

public interface IElecSystemDDLDao extends ICommonDao<ElecSystemDDL> {public static final String SERVICE_NAME="cn.elec.dao.imp.ElecSystemDDLImpl";}

  2.创建实现类:ElecSystemDDLDaoImpl.java

/*** @Repository* 相当于在spring中定义:<bean id="elecTextDaoImpl" class="com. **.ElecTextDaoImpl">*/
@Repository(IElecSystemDDLDao.SERVICE_NAME)
public class ElecSystemDDLDaoImpl extends CommonDaoImpl<ElecSystemDDL> implements IElecSystemDDLDao{}

创建Service接口及实现类:

  1.创建Service接口:IElecSystemDDLService.java

public interface IElecSystemDDLService {public static final String SERVICE_NAME="com.elec.service.impl.ElecSystemDDLServiceImpl";
}

  2.创建实现类:ElecSystemDDLServiceImpl.java

//事务控制:spring的声明事务处理,在service层添加@Transactional
@Service(IElecSystemDDLService.SERVICE_NAME)
@Transactional(readOnly=true)
public class ElecSystemDDLServiceImpl implements IElecSystemDDLService {/*数据字典Dao*/@Resource(name=IElecSystemDDLDao.SERVICE_NAME)IElecSystemDDLDao elecSystemDDLDao;}

创建Action类:ElecSystemDDLAction.java

public class ElecSystemDDLAction extends BaseAction<ElecSystemDDL>{ElecSystemDDL elecSystemDDL=this.getModel();//注入数据字典service@Resource(name=IElecSystemDDLService.SERVICE_NAME)IElecSystemDDLService elecSystemDDLService;/**  * @Name: home* @Description: 跳转到数据字典页面*  @Parameters: 无* @Return: String:跳转到system/dictionaryIndex.jsp*/public String home(){return "home";}
}

  其中BaseAction是对泛型实例化方法进行封装的类。

配置struts.xml:

<action name="elecSystemDDLAction_*" class="elecSystemDDLAction" method="{1}"><result name="home">/WEB-INF/page/system/dictionaryIndex.jsp</result></action>

修改script/menuDate.js中的url:

{mid:'aq',pid:'am',name:'数据字典维护',icon:'../images/MenuIcon/shujuzidianguanli.gif',target:'mainFrame',/*url:'../system/dictionaryIndex.jsp',*/url:'../system/elecSystemDDLAction_home.do',isParent:false
}

启动Tomcat服务器,页面展示:

转载于:https://www.cnblogs.com/zhstudy/p/7099230.html

数据字典的设计--1.首页功能实现相关推荐

  1. APP UI结构-首页功能点大集锦,很干很详细

    APP UI结构的系列的文章有一段时间没有更新了,因为最近在学一些新东西和看一些新书籍,适当的给自己充电也是为了更好的输出,言归正传,今天想跟大家聊的是和首页相关的一些内容,可能有些内容最近有的小伙伴 ...

  2. 移动软件开发-设计app首页

    一.实验目标 做一个APP首页,包括顶部图片.顶部菜单栏.中部消息模块.底部Tab按钮.学习 ScrollView, RelativeLayout,以及插件之间的穿插使用. 二.实验步骤 1.我们要实 ...

  3. Vue商城——首页功能

    Vue商城项目的前提工作 用脚手架3创建项目 vue create 项目名称 在GitHub上建一个仓库 将项目与github联系起来 git init git add . git commit -m ...

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

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

  5. UI设计中首页设计指南

    一款好的APP产品,其首页设计不仅能清晰展示产品核心功能.特点,有着较好的用户体验,还能展示公司的品牌形象,提升用户品牌认知度.今天我就针对UI设计中首页设计指南进行简单的说明. APP首页设计至关重 ...

  6. 鸿蒙版瑞幸咖啡开发日记(二)首页功能实现

    鸿蒙版瑞幸咖啡开发日记之首页功能实现 1.需开发的功能归纳 2.首页功能开发 2.1 顶部TabList开发 2.2 一级分类数据渲染 2.3 右侧大分类模板渲染 2.4 右侧具体咖啡数据渲染 2.5 ...

  7. Photoshop设计网站首页

    发工具与关键技术:使用Photoshop 设计网站首页 作者:成东平 撰写时间:2019年4月10日 先来看看本人设计的食品网页 Photoshop设计网页上图就是本人使用Photoshop学习设计的 ...

  8. 产品学习过程记录(六)——为淘宝设计拼购功能

    产品学习过程记录(六)--为淘宝设计拼购功能 淘宝拼购功能设计--产品设计方案 1. 价值主张: 拼购功能从本质上来说是通过让利的方式使用户对产品发起自传播,从卖家来看减少了推广成本,从买家来看可以用 ...

  9. android中实现返回首页功能

    关于返回首页功能的两种实现 最近需要实现一个返回首页的功能,刚开始自己的基本思路就是清除当前站内的所有activity但不包括MainActivity,这种方法也不难,CSDN上一搜就找到了答案. 方 ...

最新文章

  1. IdentityServer4关于多客户端和API的最佳实践【含多类型客户端和API资源,以及客户端分组实践】【中】...
  2. linux 数组的简单总结
  3. mysql提示The server quit without updating PID file /usr/local/mysql/data/localhost.localdomain.pid
  4. 喜马拉雅贺雯迪:基于端到端TTS实现更具生动、富有情感的语音合成表现
  5. hbase启动后在log中出现cannot get log writer
  6. 余弦欧式距离matlab,余弦相似度和欧几里得距离
  7. 列出薪金高于在部门30_我如何在五个月内将薪金提高一倍并获得一份了不起的工作...
  8. oracle 算年级,oracle 查询年级,班级,班级人数;
  9. 安装Python和Anaconda
  10. Vue异步获取数据后初始化数据不能及时更新
  11. python中标点符号大全及名字_常见的标点符号大全及名字
  12. html页面设置document类型,解析网页头部代码:Html Document
  13. table冻结列,可冻结首行,首列
  14. 【190302】VC+ 视频捕捉与录像+实例源码源代码
  15. 田忌赛马 - 动态规划
  16. 趣味代码 python画小猪佩奇
  17. Python3.8.5安装教程
  18. 订餐系统jsp模板_基于JSP的网上订餐系统的设计与实现
  19. 大话游戏循环Game Loop——PythonC++
  20. 《Android源码设计模式解析与实战》读书笔记(七)——策略模式

热门文章

  1. Maven环境配置(本文以“apache-maven-3.8.2”的安装配置为例)
  2. SSH框架面试题(自己+别人的试题)
  3. python中namedtuple函数用法详解
  4. SQL中的查询语句总结(实例)
  5. 【Unity人物动画】SALSA With RandomEyes (语音生成嘴型/人物说话) 使用
  6. manjaro go的安装
  7. 一公司C#编程规范v2.0(转)
  8. eclipse 同时打开两个
  9. 沉镀非晶质氟化碳(a-C:F)膜-供应CulnS2/CBD硫化铟/钒氧化物/铜铬磷硫CuCrP2S6/铜铁锡硫(CFTS)/铜铟硫光电/铬-氧/铜铁锡硫(CFTS)/钒氧化物薄膜定制
  10. 阿里云服务器如何购买?三种购买方式图文教程