Java研学-数据字典(一)

一 需求分析

1 分析

  在项目中会有很多的下拉框,这些下拉框的特点,就是以键值对的形式存在,其中 value(如 id:1,2… ),key(展示给用户的内容),数据库中可通过 value 寻找对应的 key,对于固定的内容可使用数据字典形式进行填写,防止出错。
  实现方案:
  1.直接硬编码写在html代码中(升级复杂,维护困难)
  2.为每个下拉框都设计一个表,然后提供CRUD功能(表单中下拉框很多,内容相似,没必要每个都配,只特殊情况下使用)
  3.使用数据字典的方式(维护项目中所有的下拉列表)

二 表设计

1 概述

  sys_dict_type 中主要存储项目中有哪些下拉框,sys_dict_data 中主要存储项目中下拉框对应的option的具体内容,两张表通过 dict_type 进行关联,查询时可通过下拉框名称“性别”于 sys_dict_type 表中搜索 dict_name 为“性别”的记录的 dict_type 字段,通过该字段到 sys_dict_data 表中获取需要展示的 key(dict_value) 与 value(dict_label),通过 dict_sort 可对下拉框中内容进行排序,如:
在这里插入图片描述

2 字典类型表 sys_dict_type

  所有程序中的select,该表中 dict_type 需唯一

字段 描述
dict_id 主键
dict_name 字典名称(例:性别)
dict_type 字典类型(例:sex)
remark 备注(例:性别)

3 字典数据表 sys_dict_data

  所有程序中的select所对应的option,例:< option value=“1”>女< /option>,其中键值为1,标签为女

字段 描述
dict_code 主键
dict_type 字典类型
dict_label 字典标签(例:女)
dict_value 字典键值(例:1)
dict_sort 字典排序(对下拉列表数据进行排序)
remark 备注

4 客户表 t_customer

  客户表中存储 source_value 与 school_value 通过关联上表,获取所需的数据,建议使用左连接防止由于字段NULL时查询丢失数据

字段 描述
id 主键
name 客户名称
phone 联系方式
source_value 常住地
school_value 最高学历

三 项目搭建

1 pom

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>cn.tj</groupId>
    <artifactId>sys-dict-demo</artifactId>
    <version>1.0.0</version>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.13.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <druid.version>1.2.6</druid.version>
        <mybatis-spring-boot.version>2.1.4</mybatis-spring-boot.version>
        <fastjson.version>1.2.76</fastjson.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- SpringBoot集成thymeleaf模板 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <!--阿里数据库连接池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>${
   druid.version}</version>
        </dependency>
        <!-- SpringBoot集成mybatis框架 -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>${
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

泰勒疯狂展开

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值