递归删除树节点

简介: 递归删除树节点
public int delete(Long id) {
        //删除权限的集合ids
        List<Long> ids = new ArrayList<>();
        ids.add(id);
        //递归的将一级分类下的id也加入到集合中
        this.getIds(ids,id);
        SmsPermissionExample example = new SmsPermissionExample();
        example.createCriteria().andIdIn(ids);
        return smsPermissionMapper.deleteByExample(example);
    }
    //递归获取所有的节点
    private void getIds(List<Long> ids, Long id) {
        SmsPermissionExample example = new SmsPermissionExample();
        example.createCriteria().andPidEqualTo(id);
        List<SmsPermission> smsPermissions = smsPermissionMapper.selectByExample(example);
        //遍历二级分类的对象,把二级分类的id加入到要删除的集合中
        if(smsPermissions.size()>0){
            for (SmsPermission permission : smsPermissions) {
                Long permissionId = permission.getId();
                ids.add(permissionId);
                //把二级分类的每一个ID,查询它下面的子节点
                this.getIds(ids,permissionId);
            }
        }
    }
相关文章
|
7月前
|
机器学习/深度学习 算法 搜索推荐
京东图片识别搜索API,搜索相似商品用于多模态数据训练
京东图片识别搜索API(拍立淘)基于深度学习,通过CNN提取图像特征,结合近似最近邻算法实现以图搜图。支持图片URL/Base64输入,返回结构化商品信息,具备多维度筛选与智能排序功能,提升视觉购物体验。(238字)
|
7月前
|
存储 Oracle 关系型数据库
《理解MySQL数据库》从个人项目到全球最流行的开源数据库
MySQL自1994年诞生以来,历经初创、商业化、Sun与Oracle时代,持续演进。其成功源于开源策略、性能优化及丰富生态,现已成为Java开发中不可或缺的数据库,未来将向云原生、AI集成与自动化运维方向发展。
|
9月前
|
图形学 开发者
【Unity3D实例-功能-镜头】第三人称视觉-镜头优化
本文介绍了如何在Unity中使用Cinemachine调整第三人称视角镜头,适用于ARPG游戏开发。内容包括调整摄像机Y轴方向与速度、设置转向灵敏度以及实现摄像机跟随角色平移,帮助开发者快速掌握镜头控制技巧。
390 0
|
6月前
|
人工智能 监控 安全
AI智能体落地:Agent-Assist vs 全自动化完整决策指南
2025年Agentic AI迅猛发展,但全自主智能体风险难控。Agent-Assist(人机协同)模式兼顾效率与安全,通过人类反馈持续学习,结合RAG构建组织知识库,实现AI越用越聪明。适合高风险、强依赖上下文的场景,是企业智能化升级的更优路径。
570 4
AI智能体落地:Agent-Assist vs 全自动化完整决策指南
|
C# Android开发 虚拟化
C# 一分钟浅谈:MAUI 跨平台移动应用开发
.NET MAUI 是 Microsoft 推出的跨平台框架,支持 Windows、macOS、iOS 和 Android。本文从基础概念入手,探讨 MAUI 的常见问题、易错点及解决方案,并通过代码示例详细说明。涵盖平台特定代码、XAML 语法、数据绑定、性能优化和调试技巧等内容,帮助开发者更好地掌握 .NET MAUI。
1501 55
|
C++
C++中的封装、继承与多态:深入理解与应用
C++中的封装、继承与多态:深入理解与应用
539 1
|
Devops 网络安全 CDN
微软警告:Azure CDN将关闭,需尽快迁移以避免服务中断
微软警告:Azure CDN将关闭,需尽快迁移以避免服务中断
|
存储 关系型数据库 分布式数据库
PolarDB 开源基础教程系列 8 数据库生态
PolarDB是一款开源的云原生分布式数据库,源自阿里云商业产品。为降低使用门槛,PolarDB携手伙伴打造了完整的开源生态,涵盖操作系统、芯片、存储、集成管控、监控、审计、开发者工具、数据同步、超融合计算、ISV软件、开源插件、人才培养、社区合作及大型用户合作等领域。通过这些合作伙伴,PolarDB提供了丰富的功能和服务,支持多种硬件和软件环境,满足不同用户的需求。更多信息请访问[PolarDB开源官方网站](https://openpolardb.com/home)。
706 4
|
人工智能 自然语言处理 BI
基于阿里云人工智能平台的智能客服系统开发与部署
随着人工智能技术的发展,智能客服系统成为企业提升服务效率和用户体验的重要工具。阿里云提供包括自然语言处理(NLP)、语音识别(ASR)、机器学习(PAI)等在内的完整AI平台,助力企业快速构建智能客服系统。本文将通过电商平台案例,展示如何基于阿里云AI平台从零开始开发、部署智能客服系统,并介绍其核心优势与最佳实践,涵盖文本和语音客服、知识库管理及数据分析等功能,显著提升客户服务效率和用户满意度。
|
存储 机器学习/深度学习 缓存
MemLong: 基于记忆增强检索的长文本LLM生成方法
本文介绍了一种名为MemLong的创新长文本处理方法,该方法通过整合外部检索器显著增强了大型语言模型处理长上下文的能力。MemLong采用轻量级设计,利用不可训练的外部记忆库存储历史上下文和知识,并通过检索相关的块级键值对增强模型输入。其技术优势包括分布一致性、高效训练策略及扩展的上下文窗口,能够在单个GPU上处理长达80k个token的文本,同时保持计算效率和内存控制。实验结果显示,MemLong在多个长文本基准数据集上表现出色,显著提升了语言建模能力和上下文学习效果。
1262 1

热门文章

最新文章