java中数据字典怎么用?图文详解

随着时代的发展与技术的进步,新兴技术的应用也变得广泛起来。而java编程语言在其中的作用也越发突出,深受大众的欢迎。今天就来为大家介绍一下java中数据字典的使用方法,并且用生动的图片为大家展示,一起来看看吧。

一、首先说一下数据字典的定义,也就是数据库中一个字段下存在多个值的情况(type:1:肉类 2:素菜类 3:服装类)。

然后简单分析一下:

这种情况下通常需要新建一张表来对应type下面的字段,通常由-表名-字段名-字段下面的值-字段明细-具体描述,等组成。

给大家举个例子:数据库中,如下图所示:

数据字典的使用

二、接下来说一下数据字典的具体使用:

思路是把上面dic这张表的所有数据查询出来,把它们放入到一个集合中(hashmap中-以键值对的形式存放),最后再通过key,value的形式把需要的值取出来。

具体实现如下图所示:

数据字典的使用

数据字典的使用

1.通过key取值,如下图所示:

数据字典的使用

2.model层:通过typeValue来实现type的具体明细,如下图所示:

数据字典的使用

3.代码如下所示:

package com.floor.shop.map;
import com.floor.shop.dao.IDicDao;
import com.floor.shop.model.Dic;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.util.HashMap;
import java.util.List;
public class DicMap
{
    @Autowired
    private static IDicDao dicDao;
    private static HashMap < String, String > hashMap = new HashMap < > ();
    //静态方法在程序启动的时候只加载一次,这样为了让查询方法只去数据库查询一次
    static
    {
        //获取应用上下文对象
        ApplicationContext ctx = new ClassPathXmlApplicationContext("mapper/spring-config.xml");
        //获取dicDao实例
        dicDao = ctx.getBean(IDicDao.class);
        queryDic();
    }
    //从数据库中取值放入到HashMap中
    public static void queryDic()
    {
        List < Dic > dics = dicDao.queryAll();
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < dics.size(); i++)
        {
            Dic dic = dics.get(i);
            String tableName = dic.getTableName();
            String fieldName = dic.getFieldName();
            String fieldValue = dic.getFieldValue();
            String key = tableName + "_" + fieldName + "_" + fieldValue;
            String value = dic.getFieldDetail();
            System.out.println(key + "=" + value);
            hashMap.put(key, value);
        }
    }
    //    static{
    //          hashMap.put("product_type_1","肉类");
    //        hashMap.put("product_type_2","蔬菜类");
    //        hashMap.put("product_type_3","服装类");
    //        hashMap.put("product_type_4","零食");
    //        hashMap.put("product_type_5","其他");
    //    }
    public static String getFieldDetail(String tableName, String fieldName, String fieldValue)
    {
        StringBuilder sb = new StringBuilder();
        StringBuilder keySb = sb.append(tableName)
            .append("_")
            .append(fieldName)
            .append("_")
            .append(fieldValue);
        String key = keySb.toString();
        String value = hashMap.get(key);
        return value;
    }
}

以上就是关于java中数据字典怎么用的图文详解。如果你对java知识感兴趣,想要了解更多java经典例子以及常见问题,敬请关注奇Q工具网。

推荐阅读:

oracle数据库如何对表增删改查?

sqlserver数据库是什么?有什么用处?

java中内置数据类型分类,实例代码展示