制作数据字典工具类

制作简单的数据字典工具类,以下代码提供简单思路,请自行优化。

1。设计数据字典表。

 

2。制作工具类:数据字典最常用的两个方法是获取下拉列表所有的选项,和获取字典码对应的值。

/**
 * @作者: LYB
 * @创建日期: 2018/8/6
 * @描述:数据字典工具
 */
public final class DictUtils {

    /**
     * 存储字典
     */
    private static Map<String, List<Map<String, Object>>> dictMaps = new ConcurrentHashMap<>();//可换redis存储

    static {
        DictService dictService = new DictServiceImpl();
        final List<Dict> dicts = dictService.selectAllEnabled();//获取所有已启用的数据字典
        //先对字典进行排序,根据排序字段排序
        Collections.sort(dicts, new Comparator<Dict>() {
            public int compare(Dict dict1, Dict dict2) {
                return dict1.getSort().compareTo(dict2.getSort());
            }
        });
        for (Dict dict : dicts) {
            String code = dict.getCode();
            Long type = dict.getType();
            String content = dict.getContent();
            if (dictMaps.get(code) == null) {//查看字典集合是否已经有该数据,如果没有就创建
                List<Map<String, Object>> dictList = new LinkedList<>();
                Map<String, Object> dictMap = new HashMap<>();
                dictMap.put(dict.getType().toString(), dict.getContent());
                dictList.add(dictMap);
                dictMaps.put(code,dictList);
            }else{//如果有就直接加进去
                List<Map<String, Object>> dictList = dictMaps.get(code);
                Map<String, Object> dictMap = new HashMap<>();
                dictMap.put(dict.getType().toString(), dict.getContent());
                dictList.add(dictMap);
                dictMaps.put(code,dictList);
            }
        }
    }

    //获取下拉列表
    public List<Map<String, Object>> getMapList(String code){
        return dictMaps.get(code);
    }

    //获取字典值
    public static String getValue(String code,String type){
        List<Map<String, Object>> maps = dictMaps.get(code);
        for (Map<String, Object>  map: maps) {
            if(map.get(type) != null){
                return map.get(type).toString();
            }
        }
        return null;
    }
}

3。其它

@Getter@Setter //此处用的lombok
public class Dict implements Serializable{

    public static final Boolean NOT_ENABLED = false;
    public static final Boolean IS_ENABLED = true;

    private Long dictId;

    private String code;//字典码

    private Long type;//类型

    private String content;//内容

    private Long sort;//排序

    private Boolean isEnabled;//启用状态:0未启用,1启用
}
@Service
public interface DictService {

   public List<Dict> selectAllEnabled();
}

 

@Service
public class DictServiceImpl implements DictService {

    @Autowired
    private DictMapper dictMapper;

    /**
     * 查看所有启用的字典
     */
    public List<Dict> selectAllEnabled(){
        return dictMapper.selectAllEnabled();
    }
}

@Component
public interface DictMapper {

    List<Dict> selectAllEnabled();
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.alialiso.MyDemo.order.mapper.DictMapper">

    <resultMap id="BaseResultMap" type="com.alialiso.MyDemo.order.domain.Dict">
        <id column="dict_id" property="dictId"/>
        <result column="code" property="code"/>
        <result column="type" property="type"/>
        <result column="content" property="content"/>
        <result column="sort" property="sort"/>
        <result column="is_enabled" property="isEnabled"/>
    </resultMap>

    <select id="selectAllEnabled" resultMap="BaseResultMap">
        SELECT
           `dict_id`,
           `code`,
           `type`,
           `content`,
           `sort`,
           `is_enabled`
        from
           `bas_dict`
        where
        is_enabled = true
    </select>
</mapper>

 

 

### 回答1: u8 13.0数据字典是指u8 13.0版本连接内核的一种数据结构,用于存储和管理各种数据信息。其主要包含以下几个部分: 1. 数据类型定义:u8 13.0数据字典定义了一系列的数据类型,如整型、字符型、浮点型等。通过数据类型定义,可以对数据进行分类和归类,方便后续的使用和操作。 2. 数据项描述:u8 13.0数据字典提供了对每个数据项的详细描述,包括数据项的含义、取值范围、单位等。这些描述帮助用户理解每个数据项的含义和作用,并且在开发过程中提供了参考。 3. 数据项关联关系:数据字典中的数据项通常不是孤立存在的,它们之间可能存在一些关联关系。u8 13.0数据字典提供了数据项之间的关联关系描述,比如字段之间的依赖关系、引用关系等。这些关联关系有助于了解数据项的使用规则和使用场景。 4. 数据项的读写权限:u8 13.0数据字典还定义了每个数据项的读写权限,即哪些用户可以读取或修改某个数据项的值。这种权限控制可以有效保护有关数据的安全性和机密性。 通过u8 13.0数据字典,用户可以清楚地了解系统中的各种数据项及其属性,从而更好地进行数据管理和操作。此外,数据字典还为开发人员提供了一种规范化的数据接口,方便数据的输入、输出和处理,提高开发效率和系统的可维护性。同时,数据字典也为用户提供了一个参考手册,使得用户可以更加方便地查找和理解系统中的数据信息。 ### 回答2: U8 13.0数据字典是指U8软件的版本号为13.0的数据字典。U8是一款企业资源管理软件,数据字典是其中一个重要的组成部分。 数据字典是用于管理和组织软件中所使用的数据的文档,它记录了软件中各个表、字段、数据类型、约束条件等的信息。U8 13.0数据字典包含了U8软件版本13.0中使用的表和字段的定义。 在U8 13.0数据字典中,可以找到各个模块的表和字段的详细信息。比如,可以找到销售模块中的订单表、客户表,以及这些表中的字段,比如订单号、客户名称等。数据字典还可以告诉我们每个字段的数据类型,比如文本、数字、日期等,以及字段的长度、是否允许为空、是否有默认值等约束条件。 通过使用U8 13.0数据字典,用户可以更好地了解U8软件中的数据结构,可以方便地进行数据分析、查询和报表制作。另外,开发人员也可以根据数据字典的定义,进行软件的二次开发和定制。 总之,U8 13.0数据字典是U8软件版本13.0中用于管理和组织数据的重要文档,它记录了软件中各个模块的表和字段的详细信息,为用户和开发人员提供了便利。 ### 回答3: U8是一款知名的企业资源规划(ERP)软件,其支持多种业务功能。其中,U8 13.0数据字典是U8软件中的一个重要组成部分。 U8 13.0数据字典是用于描述、定义和管理数据库结构的工具。它包含了U8软件中所用到的各种数据表、字段、索引、关联等数据结构的定义。在U8软件中,所有的业务数据和元数据都是存储在数据库中的,而U8 13.0数据字典则是对这些数据进行管理和控制的核心工具。 在U8 13.0数据字典中,用户可以查看和编辑各种数据表的定义,包括表名、字段名、字段类型、字段长度、索引等信息。用户也可以对数据表进行增、删、改操作,以满足特定的业务需求。此外,用户还可以定义表之间的关联关系,以建立数据之间的联结。 U8 13.0数据字典的功能非常强大,它能够帮助用户快速定位和修改数据表的结构,使得系统能够更好地适应不断变化的业务需求。此外,通过数据字典,用户还可以对数据库中的数据进行权限控制,保证数据的安全性。 总之,U8 13.0数据字典是U8软件中的重要组成部分,它为用户提供了管理和控制数据库结构的工具,帮助用户满足不同的业务需求,并保证数据的安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值