1.数据字典表

 CREATE TABLE `dic` (
`id` int(32) NOT NULL AUTO_INCREMENT,
`table_name` varchar(225) DEFAULT NULL,
`field_name` varchar(225) DEFAULT NULL,
`field_value` varchar(225) DEFAULT NULL,
`field_describe` varchar(225) DEFAULT NULL,
`describe` varchar(225) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

2. DicMap.java类

 package com.day02.sation.map;

 import com.day02.sation.dao.IDicDao;
import com.day02.sation.model.Dic;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; import java.util.HashMap;
import java.util.List;
import java.util.Map; /**
* Created by Administrator on 1/3.
*/ public class DicMap { private static IDicDao dicDao; private static Map<String, String> map = new HashMap(); static {
//获取应用上下文对象
ApplicationContext ctx = new ClassPathXmlApplicationContext("spring-config.xml");
//获取dicDao实例
dicDao = ctx.getBean(IDicDao.class);
//调用方法初始化字典
addMapValue();
} public static String getFieldDetail(String tableName, String fieldName, String filedValue) {
String key = tableName + "_" + fieldName + "_" + filedValue;
String value = map.get(key);
if (value == null) { //如果 value 为空 重新查询数据库
Dic dicQuery = new Dic();
Dic dic = dicDao.getDic(dicQuery);
if (dic != null) {//数据有该值
String fieldDescribe = dic.getFieldDescribe();
map.put(key, fieldDescribe);
return fieldDescribe;
}
value = "暂无";
}
return value;
} /**
* 初始化字典数据
*/
private static void addMapValue() {
List<Dic> list = dicDao.getList();
for (int i = 0; i < list.size(); i++) {
Dic dic = list.get(i);
String tableName = dic.getTableName();
String fieldName = dic.getFieldName();
String fieldValue = dic.getFieldValue();
String key = tableName + "_" + fieldName + "_" + fieldValue;
String fieldDescribe = dic.getFieldDescribe();
map.put(key, fieldDescribe);
} }
}

3.dao接口

     /**
* 获取字典列表
* @return
*/
List<Dic> getList(); /**
* 根据 key 获取字典值
* @param dic
* @return
*/
Dic getDic(Dic dic);

4.mapper映射文件

  <!--查询字典列表-->
<select id="getList" resultType="com.day02.sation.model.Dic">
SELECT d.id, d.table_name tableName, d.field_name fieldName, d.field_value fieldValue,
d.field_describe fieldDescribe, d.`describe` FROM dic AS d
</select>
<!--根据key获取字典值-->
<select id="getDic" parameterType="com.day02.sation.model.Dic" resultType="com.day02.sation.model.Dic">
SELECT d.id, d.table_name tableName, d.field_name fieldName, d.field_value fieldValue,
d.field_describe fieldDescribe, d.`describe` FROM dic AS d
WHERE d.table_name=#{tableName} AND d.field_name=#{fieldName} AND d.field_value=#{fieldValue}
</select>

5.在模型中使用

6.页面显示

7.浏览器中使用firbug查看返回数据

8.页面显示效果

到此字典使用完毕!

最新文章

  1. 使用subclass UIActivity的方案来分享图片
  2. NuGet命令行工具和可视化工具
  3. MySQL服务器权限表
  4. tomcat学习笔记一:安装和配置
  5. Tomcat常见内存溢出的解决办法
  6. ContentResolver + SqliteOpenHelper + ContentProvider 理解
  7. C语言字节数组转换为基本数据类型
  8. C语言程序设计课程总结
  9. python3+beautifulSoup4.6抓取某网站小说(四)多线程抓取
  10. RTN 实操
  11. 朱晔和你聊Spring系列S1E8:凑活着用的Spring Cloud(含一个实际业务贯穿所有组件的完整例子)
  12. 洛谷p1586四方定理题解
  13. 用户密码管理和 su 命令
  14. hibernate validate
  15. k最邻近算法——使用kNN进行手写识别
  16. Maven 学习笔记(二)
  17. 【webpack】---模块打包机webpack基础使用---【巷子】
  18. 《EMCAScript6入门》读书笔记——14.Promise对象
  19. padding Oracle attack(填充Oracle攻击)
  20. 一个java新手配置IIS服务器的血泪史

热门文章

  1. PMP学习笔记
  2. js引用类型之valueof和tostring(三)
  3. [转] with (nolock) 解释
  4. latex 入门及使用
  5. mysql存储过程中遍历数组字符串的两种方式
  6. Linux操作系统,服务器端的主流
  7. 网络命令ping/netstat/ipconfig/arp/tracert/nbstat
  8. uva-165-枚举
  9. 13.mysql基本查询
  10. form表单提交参数封装