1、查询指定ID下所有的子节点(从顶层到底层--多层结构)

id为0 查询所有节点


import java.util.List;

/**

 */
public class TreeVO {
	
	private Integer id;
	private String name;
	private Integer pid;
	private List<TreeVO> list;

	public Integer getId() {
		return id;
	}

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

	public String getName() {
		return name;
	}

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

	public Integer getPid() {
		return pid;
	}

	public void setPid(Integer pid) {
		this.pid = pid;
	}

	public List<TreeVO> getList() {
		return list;
	}

	public void setList(List<TreeVO> list) {
		this.list = list;
	}
	
}

 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.manage.bussiness.mapper.TreeVOMapper">


	<resultMap id="treeVoMap" type="com.manage.bussiness.domain.TreeVO">
		<id column="id" property="id" jdbcType="INTEGER" />
		<result column="name" property="name" jdbcType="VARCHAR" />
		<result column="pid" property="pid" jdbcType="INTEGER" />
		<collection property="list" ofType="com.manage.bussiness.domain.TreeVO" 
			column="id" select="findTreeByPid"/>
	</resultMap>
	
	<!--级联查询父菜单-->
    <select id="selectAllTree" resultMap="treeVoMap" >
         select * from t_tree where pid = 0
    </select>
 
    <!--级联查询子菜单-->
    <select id="findTreeByPid" resultMap="treeVoMap" >
         select * from t_tree where pid = #{id}
    </select>
	


</mapper>

 

数据库数据结构如下:

 

 

查询出来后,json格式化:

 

 

2、根据指定ID 查询其所有父级(从底层到顶层--多层结构)


import java.util.List;

/**

 */
public class TreeVO {
	
	private Integer id;
	private String name;
	private Integer pid;
	private List<TreeVO> list;

	public Integer getId() {
		return id;
	}

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

	public String getName() {
		return name;
	}

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

	public Integer getPid() {
		return pid;
	}

	public void setPid(Integer pid) {
		this.pid = pid;
	}

	public List<TreeVO> getList() {
		return list;
	}

	public void setList(List<TreeVO> list) {
		this.list = list;
	}
	
}

 

 

@Mapper
public interface TreeVOMapper {

	
	List<TreeVO> selectAllTree() ;
	
	List<TreeVO> selectAllParentTreeBySubId(Integer id) ;
	
}

http://localhost:8080/tree2?id=12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐