mybatis递归查询父子菜单

前端Vue.js的查询结果

 //这是树状图的测试数据
      treeData: [
        {
          id: "1",
          label: "一级 1",
          parentId: "",
          status: "",
          version: "",

          children: [
            {
              id: "1",
              label: "二级 1-1",
              parentId: "",
              status: "",
              version: "",
              children: [
                {
                  id: "1",
                  label: "二级 1-1",
                  parentId: "",
                  status: "",
                  version: ""
                }
              ]
            }
          ]
        }
      ],

数据库截图
在这里插入图片描述
在这里插入图片描述返回模型

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;


import java.io.Serializable;
import java.util.List;

/**
 * @ClassName: TreeEntity
 * @Description: ${description}
 * @Author: lang
 * @Date: 2020/3/20 13:37
 * @Version: v1.0
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class TreeEntity implements Serializable {
    private static final long serialVersionUID = 327227539516248064L;
    private String id;
    private String label;

    private String parentId;
    private Integer status;
    private String remark;
    private String version;

    private List<TreeEntity> children;
}

mapper 语句

public interface TreeMapper
{
    public List<TreeEntity> selectAllMenu(Long id);//查询树菜单
}

mybatis语句

 <!--级联查询返回模型-->
    <resultMap type="boss.bes.basedata.entity.TreeEntity" id="fatherMap">
        <id column="id" property="id"/>
        <id column="name" property="label"/>
        <id column="parent_id" property="parentId"/>
        <id column="status" property="status"/>
        <id column="version" property="version"/>
        <id column="remark" property="remark"/>
        <collection property="children" ofType="boss.bes.basedata.entity.TreeEntity" column="id"
                    select="findMenuByPid"/>
    </resultMap>

    <!--级联查询父菜单-->
    <select id="selectAllMenu" resultMap="fatherMap">
        select id,name,parent_id,status,version,remark
        from t_category
        where parent_id = 0
    </select>

    <!--级联查询子菜单-->
    <select id="findMenuByPid" parameterType="java.lang.Long" resultMap="fatherMap">
        select id,name,parent_id,status,version,remark
        from t_category
        where parent_id = #{id}
    </select>


  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值