oracle数据回显时候递归实战

太简单的两篇递归循环
orcale 在项目里递归循环实战

先看资产表T_ATOM_ASSET结构
在这里插入图片描述
看业务类别表T_ATOM_BUSI_CATEGORY结构
在这里插入图片描述

问题出现

在这里插入图片描述
页面显示
在这里插入图片描述
实际对应的归属业务分类
在这里插入图片描述

涉及到oracle递归实战(这里不会如何直接在atomAsset的seelct里面处理递归回显)

直接在实现层看atomAssetMapper和atomBusiCategoryMapper处理(这里转来转去数据格式,不知道有啥简单方法不)
impl

    @Overridepublic PageResult<AtomAsset> queryAll(AtomAssetQueryCriteria criteria, Page<Object> page){IPage<AtomAsset> all = atomAssetMapper.findAll(criteria, page);List<AtomAsset> records = all.getRecords();//        根据每条数据类的busiSort递归向下查找归属业务分类if(records.size() > 0 ){for (int i = 0; i < records.size(); i++) {String busiSort = records.get(i).getBusiSort();
//                逗号分隔字符串截取String[] split = busiSort.split(",");
//                string[] 转List<String>再转Set<String>-----为了去重List<String> strings = new ArrayList<>(Arrays.asList(split));Set<String> taskSet  = new LinkedHashSet<>();taskSet.addAll(strings);
//                记录最终对应的分类名字结果Set<String> taskSetResult  = new LinkedHashSet<>();for(String item : taskSet){
//                    根据分类id获取分类名称(递归向下查找)List<String> subCategory = atomBusiCategoryMapper.findSubCategory(Long.parseLong(item));
//                    根据分类id获取当前自己的分类名称String currentCategoryName = atomBusiCategoryMapper.findCategoryNameByCateforyId(Long.parseLong(item));taskSetResult.addAll(subCategory);taskSetResult.add(currentCategoryName);}
//                set又转成List返回前端records.get(i).setBusiSortName(new ArrayList<>(taskSetResult));}}
//        System.out.println(all);return PageUtil.toPage(all);}

直接看AtomBusiCategoryMapper.xml的小小递归写法

    <select id="findSubCategory" resultType="java.lang.String">select distinct category_namefrom T_ATOM_BUSI_CATEGORYstart with superior_id = #{categotyId}connect by prior category_id = superior_id</select><select id="findCategoryNameByCateforyId" resultType="java.lang.String">select category_namefrom T_ATOM_BUSI_CATEGORYwhere category_id = #{categotyId}</select>

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

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

相关文章

推荐系统三十六式学习笔记:开篇词|用知识去对抗技术不平等

目录 开篇词知识点汇总 开篇词 生活中每桩糟糕事&#xff0c;几乎都是时机不当的结果&#xff0c;每一件美好事&#xff0c;都是恰逢其时的结果。在恰到好处的时候&#xff0c;用户邂逅到美好的事物&#xff0c;想必正是一件美好的事情。是的&#xff0c;推荐系统就是促成美好…

【JavaScript脚本宇宙】不可或缺的Web开发工具:图表和可视化

图形化你的数据&#xff1a;六款顶级JavaScript库全接触 前言 在本文中&#xff0c;我们将深入探讨六个强大的JavaScript库&#xff0c;这些库被广泛应用于数据可视化和交互式图形展示。我们将了解每个库的概述、主要特性、使用示例以及使用场景&#xff0c;以帮助读者更全面…

zynq/zynqMP启动模式总结:FLASH+emmc启动/petalinux烧写速度最快的启动方式

因客户要求zynq开发板只有FLASH和emmc&#xff0c;然而还得在petalinux进行开发系统&#xff0c;因FLASH大小有限&#xff0c;所以没办法把内核和根文件地址全部存储到FLASH中&#xff0c;于是想配合emmc进行启动&#xff0c;但是在网上搜索的大多都是只把根文件系统放到了emmc…

Leetcode - 131双周赛

一&#xff0c;3158. 求出出现两次数字的 XOR 值 本题是一道纯模拟题&#xff0c;直接暴力。 代码如下&#xff1a; class Solution {public int duplicateNumbersXOR(int[] nums) {int ans 0;long t 0;for(int x : nums){if(((t>>x)&1) 1){ans ^ x;}else{t | (…

三种路由协议RIP,OSPF和BGP

RIP&#xff08;Routing Information Protocol&#xff09; 概述 类型&#xff1a;距离矢量路由协议&#xff08;Distance Vector Routing Protocol&#xff09;用途&#xff1a;主要用于小型到中型的局域网&#xff08;LAN&#xff09;。工作原理&#xff1a;通过周期性地广…

知识笔记——jieba分词初探

1. 简介 jieba 是python中一个非常好用的 中文分词组件&#xff0c;但它并不是只有分词这一个功能&#xff0c;还提供了很多在分词之上的算法&#xff0c;如关键词提取、词性标注等。 安装方式&#xff1a; pip install jieba2. 分词 支持 3 种分词模式&#xff1a;精确模式…

U-Net网络

U-Net网络 一、基本架构 各个箭头的解释&#xff1a; conv 3 * 3, ReLU&#xff1a;表示通过一个3 * 3的卷积层&#xff0c;并且该层自动附带一个非线性激活层&#xff08;ReLu&#xff09;copy and crop&#xff1a;表示进行裁剪然后再进行拼接&#xff08;在channel的维度上…

Nmap使用方法

Nmap 介绍 Nmap是一个免费开放的网络扫描和嗅探工具包&#xff0c;也叫网络映射器&#xff08;Network Mapper&#xff09;。该工具其基本功能有三个&#xff0c;一是探测一组主机是否在线&#xff1b;其次是扫描主机端口&#xff0c;嗅探所提供的网络服务&#xff1b;三是可…

代码覆盖率工具JaCoCo用法总结及示例

JaCoCo 是一个用于计算 Java 代码覆盖率的工具&#xff0c;它可以测量单元测试覆盖了代码的哪些部分。JaCoCo官网&#xff1a;EclEmma - JaCoCo Java Code Coverage Library 目录 1. JaCoCo 基本用法 2.JaCoCo 集成到构建流程 3.设置 JaCoCo 覆盖率目标 4.集成到现有测试框…

【CALayer-时钟练习-CADisplayLink Objective-C语言】

一、我们接着来看,这个CADisplayLink啊, 1.刚才我们说那个时间呢,差上1秒钟的样子,然后呢,我们现在呢,用这个叫做CADisplayLink的东西,来解决,用这个类,来解决啊, 我们说,NSTimer,是跑到这儿了以后,一秒钟以后, 它才会执行,这个timeChange方法,真正的时间,不…

docker mqqt 安装

安装 cd /data/mqqt/ 目录准备 mkdir /data/mqqt/mosquitto/config/ #vim Dockerfile # 使用官方Eclipse Mosquitto镜像作为基础镜像 FROM eclipse-mosquitto:latest # 复制配置文件到容器内 COPY mosquitto.conf /data/mqqt/mosquitto/config/mosquitto.conf# 暴露默认的M…

AWS 高防和阿里云高防深度对比

随着网络攻击的不断增加&#xff0c;企业对于网络安全的需求也越来越高。在这种情况下&#xff0c;高防护服务成为了企业网络安全的重要组成部分。AWS和阿里云作为全球领先的云计算服务提供商&#xff0c;都提供了高防护服务&#xff0c;但它们之间存在着一些差异。我们九河云一…

基于PTP实现主机与相机系统时钟同步功能

基于PTP实现主机与相机系统时钟同步功能 一、PTP简介二、工业相机PTP功能支持三、工业相机时间戳介绍3.1基本概念3.2海康工业相机时间戳介绍3.2.1相机参数时间戳3.2.2图像嵌入式时间戳3.2.3相机event事件时间戳3.2.4各种时间戳的时序关系3.2.5通过工业相机SDK获取相机时间戳 四…

JS实现彩色图片转换为黑白图片

1. 使用 Canvas 研究 canvas 时发现一个有趣的现象——将彩色图片巧妙地转换为黑白图片。以下是实现这一功能的简洁代码示例&#xff1a; <div style"display: flex"><img src"./panda.jpeg" /><button onclick"change()">转…

香港Web3媒体:Techub News

Techub News&#xff1a;香港领先&#xff0c;世界一流的科技媒体平台 在数字化时代&#xff0c;Web3技术的崛起为媒体行业注入了新的活力。作为香港领先的Web3媒体平台&#xff0c;Techub News凭借其专业的团队、丰富的资源和创新的业务模式&#xff0c;成为了行业内的佼佼者。…

Idea java.lang.RuntimeException: java.lang.OutOfMemoryError: Java heap space 解决

咱们平时的开发过程中一定会进行本地调试&#xff0c;今天我也是安装了新的idea之后拉了一个比较大的项目进行本地调试的时候报错。报错信息如下&#xff1a; java: java.lang.OutOfMemoryError: Java heap space java.lang.RuntimeException: java.lang.OutOfMemoryError: Ja…

浅谈网络安全态势感知

前言 网络空间环境日趋复杂&#xff0c;随着网络攻击种类和频次的增加&#xff0c;自建强有力的网络安全防御系统成为一个国家发展战略的一部分&#xff0c;而网络态势感知是实现网络安全主动防御的重要基础和前提。 什么是网络安全态势感知&#xff1f; 态势感知一词来源于对…

【NumPy】全面解析mean函数:高效计算数组平均值的方法

&#x1f9d1; 博主简介&#xff1a;阿里巴巴嵌入式技术专家&#xff0c;深耕嵌入式人工智能领域&#xff0c;具备多年的嵌入式硬件产品研发管理经验。 &#x1f4d2; 博客介绍&#xff1a;分享嵌入式开发领域的相关知识、经验、思考和感悟&#xff0c;欢迎关注。提供嵌入式方向…

【class19】人工智能初步---语音识别(5)

【class19】 上节课&#xff0c;我们学习了&#xff1a;语音识别模型的结构和原理&#xff0c;同时调用创建好的AipSpeech客户端实现了语音转文字功能。 本节课&#xff0c;我们将初识字幕&#xff0c;学习这些知识点&#xff1a;1. srt字幕 2. 获取时间数据 …

Codeforces Round 800 (Div. 1) A. Directional Increase (贪心之结论题之根本想不出来)

我们有一个长度为 n n n 的数组。最初&#xff0c;每个元素都等于 0 0 0 &#xff0c;第一个元素上有一个指针。 我们可以按任意顺序执行以下两种操作任意次数(可能为零)&#xff1a; 如果指针不在最后一个元素上&#xff0c;则将指针当前所在的元素增加 1 1 1 。然后将其…