zoukankan      html  css  js  c++  java
  • 大型运输行业实战_day07_2_数据字典实现

    1.数据字典表

    1 CREATE TABLE `dic` (
    2   `id` int(32) NOT NULL AUTO_INCREMENT,
    3   `table_name` varchar(225) DEFAULT NULL,
    4   `field_name` varchar(225) DEFAULT NULL,
    5   `field_value` varchar(225) DEFAULT NULL,
    6   `field_describe` varchar(225) DEFAULT NULL,
    7   `describe` varchar(225) DEFAULT NULL,
    8   PRIMARY KEY (`id`)
    9 ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

    2. DicMap.java类

     1 package com.day02.sation.map;
     2 
     3 import com.day02.sation.dao.IDicDao;
     4 import com.day02.sation.model.Dic;
     5 import org.springframework.context.ApplicationContext;
     6 import org.springframework.context.support.ClassPathXmlApplicationContext;
     7 
     8 import java.util.HashMap;
     9 import java.util.List;
    10 import java.util.Map;
    11 
    12 /**
    13  * Created by Administrator on 1/3.
    14  */
    15 
    16 public class DicMap {
    17 
    18     private static IDicDao dicDao;
    19 
    20     private static Map<String, String> map = new HashMap();
    21 
    22     static {
    23         //获取应用上下文对象
    24         ApplicationContext ctx = new ClassPathXmlApplicationContext("spring-config.xml");
    25         //获取dicDao实例
    26         dicDao = ctx.getBean(IDicDao.class);
    27         //调用方法初始化字典
    28         addMapValue();
    29     }
    30 
    31     public static String getFieldDetail(String tableName, String fieldName, String filedValue) {
    32         String key = tableName + "_" + fieldName + "_" + filedValue;
    33         String value = map.get(key);
    34         if (value == null) { //如果 value 为空 重新查询数据库
    35             Dic dicQuery = new Dic();
    36             Dic dic = dicDao.getDic(dicQuery);
    37             if (dic != null) {//数据有该值
    38                 String fieldDescribe = dic.getFieldDescribe();
    39                 map.put(key, fieldDescribe);
    40                 return fieldDescribe;
    41             }
    42             value = "暂无";
    43         }
    44         return value;
    45     }
    46 
    47     /**
    48      * 初始化字典数据
    49      */
    50     private static void addMapValue() {
    51         List<Dic> list = dicDao.getList();
    52         for (int i = 0; i < list.size(); i++) {
    53             Dic dic = list.get(i);
    54             String tableName = dic.getTableName();
    55             String fieldName = dic.getFieldName();
    56             String fieldValue = dic.getFieldValue();
    57             String key = tableName + "_" + fieldName + "_" + fieldValue;
    58             String fieldDescribe = dic.getFieldDescribe();
    59             map.put(key, fieldDescribe);
    60         }
    61 
    62     }
    63 }

    3.dao接口

     1     /**
     2      * 获取字典列表
     3      * @return
     4      */
     5     List<Dic> getList();
     6 
     7     /**
     8      * 根据 key 获取字典值
     9      * @param dic
    10      * @return
    11      */
    12     Dic getDic(Dic dic);

    4.mapper映射文件

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

    5.在模型中使用

    6.页面显示 

      

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

     

    8.页面显示效果

     到此字典使用完毕!

  • 相关阅读:
    表单标签
    无序列表有序列表
    跳转锚点
    HTML标签01
    HTML基本结构和属性
    python爬虫学习笔记(二十三)-Scrapy框架 CrawlSpider
    python爬虫学习笔记(二十二)-Scrapy框架 案例实现
    python爬虫学习笔记(二十一)-Scrapy框架 setting
    python爬虫学习笔记(二十)-Scrapy框架 Pipeline
    python爬虫学习笔记(十九)-Scrapy 数据的保存
  • 原文地址:https://www.cnblogs.com/newAndHui/p/8184788.html
Copyright © 2011-2022 走看看