SSM实现树形菜单

本文记录了在SSM框架下如何实现单表数据的树形菜单。首先介绍了任务背景,然后分析了一次性加载所有数据的方案,并详细阐述了从数据库设计到实体类、 Dao、Service、Impl和Controller的具体实现步骤。最后展示了查询结果的JSON数据,总结了利用Mybatis的collection标签进行递归查询树形结构的方法。
摘要由CSDN通过智能技术生成

SSM框架完成单表数据树形菜单实现

任务背景:

  • 最近在搭建基于SSM种子项目框架时,遇到了树形菜单加载问题。特此把解决的问题方案记录下去,供其他小伙伴参考和日后回顾。

方案分析

  • 方案选择
    • 一次性加载完,返回前台需要的数据结构
    • 点击加载,默认记载根层级的菜单。后续点击那一级菜单加载其下的子节点
    • 对节点进行查询,删除,修改,增加
  • 方案实现
    • 在这里只分析一次性加载实现
    • 对节点进行查询,删除,修改,增加

具体实现

- 表、数据资料

  • 数据库
    在这里插入图片描述

  • 设置主键Id和parent_id的级联关 在这里插入图片描述

直接撸起代码干起:

  • 实体类

      /**
       * 编号
       */
      private Long id;
    
      /**
       * 名称
       */
      private String name;
      /**
       * 父级Id
       */
      private Long parentId;
          /**
           * 子节点集合
           */
          List<Node> chilidren;
      
          public Node() {
          }
      
          public Node(Long id, String name, Long parentId, List<Node> chilidren) {
              this.id = id;
              this.name = name;
              this.parentId = parentId;
              this.chilidren = chilidren;
          }
      
          public Long getId() {
              return id;
          }
      
          public void setId(Long id) {
              this.id = id;
          }
      
          public String getName() {
              return name;
          }
      
          public void setName(String name) {
              this.name = name;
          }
      
          public Long getParentId() {
              return parentId;
          }
      
          public void setParentId(Long parentId) {
              this.parentId = parentId;
          }
      
          publ
  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值