栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Mybatis树结构查询

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Mybatis树结构查询

先看基础数据和代码

1、表的结构

CREATE TABLE `my_tree` (
  `id` varchar(32) NOT NULL,
  `gjfl_name` varchar(100) DEFAULT NULL,
  `parent_id` varchar(32) DEFAULT NULL,
  `gjfl_level` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

2、表数据

INSERT INTO `my_tree` VALUES ('1', '1', '0', '1');
INSERT INTO `my_tree` VALUES ('2', '2', '1', '2');
INSERT INTO `my_tree` VALUES ('3', '3', '0', '1');
INSERT INTO `my_tree` VALUES ('4', '4', '3', '2');
INSERT INTO `my_tree` VALUES ('5', '5', '4', '3');
INSERT INTO `my_tree` VALUES ('6', '6', '2', '3');
INSERT INTO `my_tree` VALUES ('7', '7', '3', '2');

3、实体类

package com.ym.contract.entity.po;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

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


@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("my_tree")
public class MyTree extends Model implements Serializable {
    private static final long serialVersionUID = -96886463332616307L;
    
    @TableId(value = "id",type = IdType.ASSIGN_ID)
    private String id;

    
    private String gjflName;

    
    private String parentId;

    private Integer gjflLevel;
    
    
    private List childrenList;
}

4、mapper.xml


        
        
    

      返回结果集到 id为rm1的resultMap标签中
        select *
        from my_tree
        where parent_id = #{parentId}
    


 
        
        
         

直白的说:当调用findLevel查询时,返回一个结果集到collection中,collection会遍历这个结果集中的id循环去查询,查询出来的数据赋值到childrenList属性上,直至为空结束查询返回数据

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1028456.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号