数据字典在web中的简单应用
数据字典是什么?
数据字典一般是给开发人员用的,列出了系统后台数据库的情况。数据库中包含的所有表及其每个字段的类型、对应的中文名称、含义等。一般用于省市县,类型,性别等不容易改变的数据。
用数据字典有什么好处?
一般对于省,市,县 ,性别,类型等数据,在用下拉菜框时,每用一个下拉框就需要在数据库中建一个表,而使用数据字典,只需要一张表,或者两张表即可。
数据字典在web项目中简单的应用
1.建表(拿两张表的举例)
1.1
创建t_summany表,里面存放类型
创建t_detail表
创建主表t_user
2.建立web工程
2.1 创建一个util
package com.lty.utils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
importorg.springframework.stereotype.Component;
import com.lty.dao.TestDao;
import com.lty.dto.Detail;
import com.lty.dto.Summany;
@Component
public class Util {
//连接dao
@Resource
privateTestDao dao;
//创建一个静态map
staticMap<Integer, Object> map=new HashMap<Integer, Object>();
@PostConstruct
//往map中添加数据
privatevoid initMap(){
//查出t_summany中的数据
List<Summany>sulist=dao.getSuList();
//遍历得到集合
for(Summany summany : sulist) {
Integersid=summany.getSid();
//通过sid查出t_detail中的数据
List<Detail>detaillist=dao.getdelist(summany.getSid());
//以sid当key detaillist当value放入map
map.put(sid,detaillist);
}
//得到t_detail中的数据
List<Detail>delist=dao.getdeilList();
//遍历得到的集合
for(Detail detail : delist) {
//将数据放到map中did为key dname为value
map.put(detail.getDid(),detail.getDname());
}
}
//通过did得到dnam
publicstatic String getDnameById(Integer did){
return (String) map.get(did);
}
//通过sid得到一个detail的集合
publicstatic List<Detail> getlistBySummaryId(Integer sid){
return(List) map.get(sid);
}
}
2.2根据t_user建立实体类
package com.lty.dto;
import com.lty.utils.Util;
publicclass User {
private Integer uid;
private String uname;
private Integer did;
private String dname;
public String getDname() {
//调用util里的方法
return Util.getDnameById(did);
}
publicvoid setDname(Stringdname) {
this.dname = dname;
}
public Integer getUid() {
returnuid;
}
publicvoid setUid(Integeruid) {
this.uid = uid;
}
public String getUname() {
returnuname;
}
publicvoid setUname(Stringuname) {
this.uname = uname;
}
public Integer getDid() {
returndid;
}
publicvoid setDid(Integerdid) {
this.did = did;
}
}
在实体类中创建dname这个字段,get方法调用util的方法 这样在前台就能直接得到dname
3.前台下拉框
在前台给个路径,进入connter层中的一个方法。public List<Detail> type(){
//通过sid得到list集合
List<Detail>type=Util.getlistBySummaryId(Chang.INTERTYPE);
return type;
}
在这里我定义一个常量类
publicclass Chang {
publicstaticfinal Integer SEX=1001;
publicstaticfinal Integer INTERTYPE=1002;
}
这样下拉框就完事了。
4. 数据字典后台管理的应用
页面操作:新增,修改,删除(逻辑删除),设置明细
删除时只能逻辑删除
补充:物理删除和逻辑删除
1). 物理删除:delete
2). 逻辑删除:在表中增加一个字段:delete_flag(true代表删除,false代表未删除)
select * from t_user wheredelete_flag = false;
update t_user setdelete_flag = true where
页面2:设置明细页面
该页面显示对应summary的明细
操作:新增,修改,删除(逻辑删除),设置显示顺序。
数据字典给静态map差不多,程序执行就加载,加载一次后,后面调用
数据字典在web中的简单应用相关推荐
- EasyExcel在项目中的应用-在web中导出带下拉框和批注的excel文件
前言 好长一段时间没有更新博客了,最近刚刚找到实习工作,接触了企业中的项目,在这段时间的实习过程中,终于知道了企业级项目的体量和业务难度跟之前的小项目是完全不同的.10多天的适应期也逐渐让我找到了 ...
- 解析 WEB 中所有 URL 的简单牛B代码,先保存起来,方式将来找不到了
解析 WEB 中所有 URL 的简单牛B代码,先保存起来,方式将来找不到了 2011-11-22 16:48 by 通用信息化建设平台, 1471 ...
- 在ASP.NET Core MVC中构建简单 Web Api
Getting Started 在 ASP.NET Core MVC 框架中,ASP.NET 团队为我们提供了一整套的用于构建一个 Web 中的各种部分所需的套件,那么有些时候我们只需要做一个简单的 ...
- java入侵检测源码_Java Web中的入侵检测及简单实现
作者:EasyJF开源团队 大峡 一.简介 在Java Web应用程中,特别是网站开发中,我们有时候需要为应用程序增加一个入侵检测程序来防止恶意刷新的功能,防止非法用户不断的往Web应用中重复发送数据 ...
- Web请求响应简单整理
简单对Web请求响应如何处理进行的整理,难免有理解不到位,理解有偏差的地方,如有理解有误的地方,希望大牛批评指正. 1.Web开发的定义 首先看看微软对Web开发的定义: Web开发是一个指代网页或网 ...
- HTML5 Web app开发工具Kendo UI Web中图像浏览器的使用
2019独角兽企业重金招聘Python工程师标准>>> Kendo UI Web中的图像浏览器在默认的情况下会打开一个简单的对话框,如下图所示,方便用户键入或者是粘贴图片的URL以及 ...
- Web中的积累:外观模式 Facade
摘要: 原创出处: http://www.cnblogs.com/Alandre/ 泥沙砖瓦浆木匠 希望转载,保留摘要,谢谢! 壹 前言 目测好久没写文章了,距离上一篇文章也有二十多天.我是怎么了?哈 ...
- 主流WEB开发语言简单对比(转)
主流WEB开发语言简单对比 原文链接:http://www.uml.org.cn/site/201401091.asp 随着时间的飞逝,随着岁月的流失.从世界上第一台计算机ENIAC诞生至今,已 ...
- Redis在SSM项目中的简单使用
Redis在SSM项目中的简单使用 一.基于SSM的Redis环境配置 前提是你的开发电脑安装和配置好了redis,如果没安装请看Window配置Redis环境和简单使用 1.1.pom文件中引入re ...
最新文章
- oracle12 java_java – 无法使用12c jar创建Eclipse数据源到Oracle 12c.不过11g的作品
- android 字符串函数,Android JNI开发系列(六)字符串操作
- Django学习手册 - ORM数据类型
- 1380C. Create The Teams
- Something about WMI
- android切图倍数,【Flutter工具】fmaker:自动生成倍率切图/自动更换App图标
- FL Studio20.8中文完整果味版编曲
- pygame游戏库如何下载
- 自组织映射神经网络(SOM)
- android 仿飞猪日历,vue+vux 仿飞猪app火车票部分(四)
- P5385 [Cnoi2019]须臾幻境 LCT+主席树 维护区间联通块个数
- 阿里大数据之路:数据模型篇大总结(收藏)
- QML调用Android摄像头,并将每一帧传入C++进行处理(QML 对象,转化为C++对象)
- 即期信用证和远期信用证
- pascal编程语言介绍
- 简单的电商分销管理系统介绍
- WLAN AP安全策略中WPA认证与WPA2认证的差异
- panda提取时间戳中的日期_《我在时间尽头等你》中的文案,总有一个戳中你的泪点...
- 《现代数学基础丛书》
- sdnu中的结构体问题