mybatis递归数据,返回树形结构

1.Java实体类

public class Menu{
    Integer id;
    String name;
    Integer state;//状态字段:0正常 1删除
    Integer pid;//记录回复的父ID
    Date createtime;//创建时间
    List childs ;
    get(),set()略
}

2.Mybatis配置

这个一定要注意,不然mybatis不会识别到resultMap中的标签


		

3.mapper.xml示例

pid值为节点id,比如默认根节点pid是0,那么传入参数时直接传入0即可,如果想要查询某个节点的子节点及以下节点,pid传入想要查询的节点id即可。


        
        

4接口

public List findMenu(Menu menu);

5.数据库数据

mybatis递归数据,返回树形结构_第1张图片

6.结果展示

{
	-"list": [-{
		-"childs": [-{
			-"childs": [-{
				-"childs": [-{
					"childs": [],
					"name": "不敢不敢,你们都是大佬",
					"createtime": "2019-04-30 08:00:00",
					"id": 4,
					"pid": 3,
					"state": 0,
				}, -{
					"childs": [],
					"name": "大佬过来喝茶啊",
					"createtime": "2019-04-30 08:00:00",
					"id": 5,
					"pid": 3,
					"state": 0,
				}],
				"name": "带小弟一个",
				"createtime": "2019-04-30 08:00:00",
				"id": 3,
				"pid": 2,
				"state": 0,
			}],
			"name": "大佬666",
			"createtime": "2019-04-29 08:00:00",
			"id": 2,
			"pid": 1,
			"state": 0,
		}],
		"name": "666",
		"createtime": "2019-04-29 08:00:00",
		"id": 1,
		"pid": 0,
		"state": 0,
	}]
}

 

你可能感兴趣的:(Java)