mybatis自联表三级菜单

在这里插入图片描述

 <!--以下为菜单管理页面-->
    <!--  ↓↓↓↓↓↓↓↓以下为页面  树形展示↓↓↓↓↓↓↓↓↓↓↓-->
    <resultMap id="ParentTreeResultMap" type="com.lanou.entity.admin.Menu">
        <id column="id" property="id"></id>
        <result column="parentId" property="parentId"></result>
        <result column="name" property="name"></result>
        <result column="url" property="url"></result>
        <result column="icon" property="icon"></result>
        <collection column="id" property="children" ofType="com.lanou.entity.admin.Menu" select="listChild">

        </collection>
    </resultMap>
    <resultMap id="listChildResultMap" type="com.lanou.entity.admin.Menu">
        <id column="id" property="id"></id>
        <result column="parentId" property="parentId"></result>
        <result column="name" property="name"></result>
        <result column="url" property="url"></result>
        <result column="icon" property="icon"></result>
        <collection column="id" property="children" ofType="com.lanou.entity.admin.Menu" select="listChild">

        </collection>
    </resultMap>

    <!--子级节点查询(listChild)    -->
    <select id="listChild" resultMap="listChildResultMap">
         select id,parentId,name,url,icon from menu WHERE parentId=#{id};

</select>
<!--    父级节点查询-->
    <select id="getMenuTree" resultMap="ParentTreeResultMap">
           select id,parentId,name,url,icon from menu where  parentId =0 ;

</select>
<!--    ↑↑↑↑↑↑↑以上为页面树形显示-->



<!--    以下为页面模糊查询-->
<!--一级-->
    <select id="getLikeFirstMenuListOfThree" resultMap="ParentTreeResultMap" parameterType="com.lanou.entity.admin.Menu">
                  select id,parentId,name,url,icon from menu where  parentId =0
                  <if test="name !=null and name !=''">
                      AND name like concat('%',#{name},'%')
                  </if>

    </select>
<!--    二级-->
    <select id="getLikeSecondMenuListOfThree" resultMap="ParentTreeResultMap" parameterType="com.lanou.entity.admin.Menu">
        select id,parentId,name,url,icon from menu where  parentId =#{id}


    </select>
    <select id="getLikeThirdMenuListOfThree" resultMap="ParentTreeResultMap" parameterType="com.lanou.entity.admin.Menu">
        select id,parentId,name,url,icon from menu where  parentId =#{id}


    </select>
<!--    以上为页面模糊查询-->

<!--以上为菜单管理页面-->
package com.lanou.entity.admin;

import java.util.List;

public class Menu {
    
    
    private Long id;
    private Long parentId;
    private String name;
    private String url;
    private String icon;
    private List<Menu> children;

    public Long getId() {
    
    
        return id;
    }

    public void setId(Long id) {
    
    
        this.id = id;
    }

    public Long getParentId() {
    
    
        return parentId;
    }

    public void setParentId(Long parentId) {
    
    
        this.parentId = parentId;
    }

    public String getName() {
    
    
        return name;
    }

    public void setName(String name) {
    
    
        this.name = name;
    }

    public String getUrl() {
    
    
        return url;
    }

    public void setUrl(String url) {
    
    
        this.url = url;
    }

    public String getIcon() {
    
    
        return icon;
    }

    public void setIcon(String icon) {
    
    
        this.icon = icon;
    }

    public List<Menu> getChildren() {
    
    
        return children;
    }

    public void setChildren(List<Menu> children) {
    
    
        this.children = children;
    }

    @Override
    public String toString() {
    
    
        return "Menu{" +
                "id=" + id +
                ", parentId=" + parentId +
                ", name='" + name + '\'' +
                ", url='" + url + '\'' +
                ", icon='" + icon + '\'' +
                ", children=" + children +
                '}';
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_45010894/article/details/108673515