级联(数据字典)

二级级联:

一:新建两个Bean

父级:

/*** @Description 数据字典* @Author WangKun* @Date 2023/7/25 10:15* @Version*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("HW_DICT_KEY")
public class DictKey implements Serializable {private static final long serialVersionUID = 1L;@TableId(value = "id", type = IdType.AUTO)private String id;private Timestamp created;private Timestamp modified;private String dictKey;private String dictName;private List<DictItemValue> dictItemValues;
}

子级:

/*** @Description 数据字段* @Author WangKun* @Date 2023/7/25 10:15* @Version*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("HW_DICT_ITEM_VALUE")
public class DictItemValue implements Serializable {private static final long serialVersionUID = 1L;@TableId(value = "id", type = IdType.AUTO)private String id;private Timestamp created;private Timestamp modified;private String dictKey;private String itemCode;private String itemName;}

mybatis 或者 mybatisplus

<mapper namespace="com.module.dict.mapper.DictMapper"><resultMap id="BaseResultMap" type="com.module.dict.bean.DictKey"><result column="dictKey" property="dictKey" jdbcType="VARCHAR"/><result column="dictName" property="dictName" jdbcType="VARCHAR"/><collection property="dictItemValues" ofType="com.module.dict.bean.DictItemValue"><result column="dictKey" property="dictKey" jdbcType="VARCHAR"/><result column="itemName" property="itemName" jdbcType="VARCHAR"/><result column="itemCode" property="itemCode" jdbcType="VARCHAR"/></collection></resultMap><select id="queryAllDict" resultMap="BaseResultMap">SELECTt1.id,t1.dict_name AS 'dictName',t1.dict_key AS 'dictKey',t2.item_name AS 'itemName',t2.item_code AS 'itemCode'FROMhw_dict_key t1JOIN hw_dict_item_value t2 ON t2.dict_key = t1.dict_key</select></mapper>

三级级联:

新建三个Bean

父级:

/*** @Description 数据字典* @Author WangKun* @Date 2023/7/25 10:15* @Version*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("HW_DICT")
public class Dict implements Serializable {private static final long serialVersionUID = 1L;@TableId(value = "id", type = IdType.AUTO)private String id;private String key;private String name;private String parentId;private List<DictValue> children;
}

子级:

/*** @Description 数据字典* @Author WangKun* @Date 2023/7/25 10:15* @Version*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("HW_DICT_VALUE")
public class DictValue implements Serializable {private static final long serialVersionUID = 1L;@TableId(value = "id", type = IdType.AUTO)private String id;private String key;private String name;private String parentId;private List<DictValueItem> children;
}

孙级:

/*** @Description 数据字典* @Author WangKun* @Date 2023/7/25 10:15* @Version*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("HW_DICT_VALUE_ITEM")
public class DictValueItem implements Serializable {private static final long serialVersionUID = 1L;@TableId(value = "id", type = IdType.AUTO)private String id;private String key;private String name;private String parentId;
}

mybatis 或者 mybatisplus

<mapper namespace="com.module.dict.mapper.DictMapper"><resultMap id="BaseResultMap" type="com.module.dict.bean.Dict"><id column="id" property="id"></id><result column="name" property="name"></result><result column="key" property="key"></result><collection property="children" ofType="com.module.dict.bean.DictValue"><id column="value_id" property="id"></id><result column="value_name" property="name"></result><result column="value_key" property="key"></result><collection property="children" ofType="com.module.dict.bean.DictValueItem"><id column="item_id" property="id"></id><result column="item_name" property="name"></result><result column="item_key" property="key"></result></collection></collection></resultMap><select id="queryAllDict" resultMap="BaseResultMap">selectt1.id,t1.name,t1.key,t2.id value_id,t2.name value_name,t2.key value_key,t3.id item_id,t3.name item_name,t3.key item_keyfrom hw_dict t1join hw_dict_value t2 on t2.parent_id = t1.idjoin hw_dict_value_item t3 on t3.parent_id = t2.id
--         where p.parent_id = '0'</select></mapper>

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/43187.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

excel快速选择数据、选择性粘贴、冻结单元格

一、如何快速选择数据 在excel中&#xff0c;希望选择全部数据&#xff0c;通常使用鼠标选择数据然后往下拉&#xff0c;当数据很多时&#xff0c;也可单击单元格使用ctrl A选中全部数据&#xff0c;此外&#xff0c;具体介绍另一种方法。 操作&#xff1a;ctrl shift 方向…

【C++】STL---list

STL---list 一、list 的介绍二、list 的模拟实现1. list 节点类2. list 迭代器类&#xff08;1&#xff09;前置&#xff08;2&#xff09;后置&#xff08;3&#xff09;前置- -、后置- -&#xff08;4&#xff09;! 和 运算符重载&#xff08;5&#xff09;* 解引用重载 和 …

css3新增属性

文章目录 css3新增属性box-shadowborder-radius设置椭圆 position: sticky;渐变背景线性渐变可重复的渐变背景 径向渐变可重复的渐变背景 过渡分属性 动画关键帧与transition的关系demo 变形平移使用 旋转使用 其他使用立体效果perspective元素位于3D空间还是平面中 缩放变形的…

tornado在模板中遍历二维数组

要在Tornado模板中遍历一个二维数组&#xff0c;你可以使用Tornado的模板语法来实现迭代和显示数组中的每个元素。 以下是一个示例&#xff0c;演示如何在Tornado模板中遍历和显示二维数组的内容&#xff1a; template.html: <!DOCTYPE html> <html> <head&g…

小米分享 | 解密面试题:网易面试如何回答“创建线程有哪几种方式?”

大家好&#xff0c;我是你们的小米&#xff01;今天要和大家一起探讨一个在技术面试中常见的问题&#xff1a;创建线程有哪几种方式&#xff1f;这可是个经典面试题哦&#xff01;不过别担心&#xff0c;小米在这里为你详细解析&#xff0c;帮你轻松应对&#xff0c;让你在面试…

深度学习在MRI运动校正中的应用综述

运动是MRI中的主要挑战之一。由于MR信号是在频率空间中获取的&#xff0c;因此除了其他MR成像伪影之外&#xff0c;成像对象的任何运动都会导致重建图像中产生伪影。深度学习被提出用于重建过程的几个阶段的运动校正。广泛的MR采集序列、感兴趣的解剖结构和病理学以及运动模式&…

用dcker极简打包java.jar镜像并启动

用dcker极简打包java.jar镜像并启动 一、本地打包好jar包 二、新建文件夹&#xff0c;将步骤1中的jar包拷贝到文件夹下 三、同目录下新建Dockerfile ## 基础镜像&#xff0c;这里用的是openjdk:8 FROM openjdk:8## 将步骤一打包好的jar包 拷贝到镜像的 跟目录下[目录可以自定义…

Oracle字段长度不足位数补零

Oracle字段长度不足位数补零 有时候从数据库中取出的月份值是1&#xff0c;而不是01&#xff0c;该怎么办呢 SELECTLPAD( CODE_MONTH, 2, 0 ) FROMtb_cube_TY001 WHERECODE_BM_MEATYPE TY20 AND code_measure MYLX01 AND code_month <> ~ AND CODE_ENTITY 01A AND…

【实战】十一、看板页面及任务组页面开发(二) —— React17+React Hook+TS4 最佳实践,仿 Jira 企业级项目(二十四)

文章目录 一、项目起航&#xff1a;项目初始化与配置二、React 与 Hook 应用&#xff1a;实现项目列表三、TS 应用&#xff1a;JS神助攻 - 强类型四、JWT、用户认证与异步请求五、CSS 其实很简单 - 用 CSS-in-JS 添加样式六、用户体验优化 - 加载中和错误状态处理七、Hook&…

“深入探索JVM:解析Java虚拟机的工作原理与优化“

标题&#xff1a;深入探索JVM&#xff1a;解析Java虚拟机的工作原理与优化 摘要&#xff1a;本篇博客将深入探讨Java虚拟机&#xff08;JVM&#xff09;的工作原理以及如何优化JVM的性能。我们将介绍JVM的组成部分、类加载过程、内存管理、垃圾回收机制以及常见的性能优化技术…

记一次线上OOM事故

OOM 问题 linux内核有个机制叫OOM killer(Out-Of-Memory killer)&#xff0c;当系统需要申请内存却申请不到时&#xff0c;OOM killer会检查当前进程中占用内存最大者&#xff0c;将其杀掉&#xff0c;腾出内存保障系统正常运行。 一般而言&#xff0c;一个应用的内存逐渐增加&…

__setitem__和__getitem和__delitem__

目录 一、__setitem__ 二、__getitem__ 三、__delitem__与__delattr__ python从小白到总裁完整教程目录:https://blog.csdn.net/weixin_67859959/article/details/129328397?spm1001.2014.3001.5502 class Foo:def __init__(self, name):self.name namedef __getitem__(s…

mekefile 编写

mekefile 编写 参考 Linux下使用 autoconf和automake 自动构建 项目 make file文件 makefile 中加入shell语句 if shell 参考 foo.bak: foo.barecho "foo"if [ -d "~/Dropbox" ]; then echo "Dir exists"; fi Or foo.bak: foo.barecho &quo…

文心一言 VS 讯飞星火 VS chatgpt (76)-- 算法导论7.3 1题

一、如果用go语言&#xff0c;为什么我们分析随机化算法的期望运行时间&#xff0c;而不是其最坏运行时间呢? 文心一言&#xff1a; 在分析算法的性能时&#xff0c;期望运行时间是一个重要的指标&#xff0c;它描述了算法在平均情况下的表现。期望运行时间考虑了所有可能的…

管理类联考——逻辑——真题篇——按知识分类——汇总篇——二、论证逻辑——支持加强——第二节——分类2——正面支持

文章目录 第二节 支持加强-分类2-正面支持题-支持加强-分类2-正面支持-表达“确实如此”题-支持加强-分类2-正面支持-表达“确实如此”-正面支持不直观:转为削弱反面更直观真题(2010-38)-支持加强-分类2-正面支持真题(2018-29)-支持加强-分类2-正面支持-支持关键词真题(…

musl libc ldso 动态加载研究笔记:02

前言 本篇继续研究 musl libc ldso 的动态加载过程中遇到的关键性的概念&#xff1a;到底要加载ELF 文件的哪些内容到 内存 当前如果遇到 ELF 动态加载&#xff0c;当前系统需要有【文件系统】&#xff0c;并且有较大的内存&#xff0c;因为 ELF 文件是无法直接运行的&#xf…

IDEA两种方法修改生成的jar包名字

方法一&#xff1a; 直接修改pom文件中的如下部分 <artifactId>excelreport</artifactId> <version>0.0.1-SNAPSHOT</version> <name>excelreport</name> <description>excelreport</description> 修改完成后&#xff0c;点…

SpringBoot3集成Kafka

标签&#xff1a;Kafka3.Kafka-eagle3&#xff1b; 一、简介 Kafka是一个开源的分布式事件流平台&#xff0c;常被用于高性能数据管道、流分析、数据集成和关键任务应用&#xff0c;基于Zookeeper协调的处理平台&#xff0c;也是一种消息系统&#xff0c;具有更好的吞吐量、内…

跟着美团学设计模式(感处)

读了着篇文章之后发现真的是&#xff0c;你的思想&#xff0c;你的思维是真的比比你拥有什么技术要强的。 注 开闭原则 开闭原则&#xff08;Open-Closed Principle&#xff09;是面向对象设计中的基本原则之一&#xff0c;它的定义是&#xff1a;一个软件实体应该对扩展开放…

python生成旗帜--比如美国国旗生成

目录 1、解释说明&#xff1a; 2、使用示例&#xff1a; 3、注意事项&#xff1a; 1、解释说明&#xff1a; 在Python中&#xff0c;生成国旗可以通过使用第三方库或者自定义函数来实现。通常&#xff0c;我们可以使用Pillow库来处理图像&#xff0c;以及使用matplotlib库来…