实际开发过程中经常需要查询节点树,根据指定节点获取子节点列表,以下记录了获取节点树的操作,以备不时之需。
可以用于系统部门组织机构、商品分类、城市关系等带有层级关系的数据结构;
即根节点、枝干节点、叶子节点,数据模型如下:
| id | code | name | parent_code |
|---|---|---|---|
| 1 | 10000 | 电脑 | 0 |
| 2 | 20000 | 手机 | 0 |
| 3 | 10001 | 联想笔记本 | 10000 |
| 4 | 10002 | 惠普笔记本 | 10000 |
| 5 | 1000101 | 联想拯救者 | 10001 |
| 6 | 1000102 | 联想小新系列 | 10001 |
noteTree :获取所有父级节点数据;
nextNoteTree:循环获取子节点数据,知道叶子节点结束;
column:关联表的列名;
ofType:返回类型
使用
mybatis时如加载不到
mapper xml需在
pom.xml添加以下配置:
使用递归方式是比较常见的方式,优点是实现简单,直观的体现层级关系,但是数据量大的情况下效率会略低;欢迎使用其他方式的小伙伴分享自己的实现思路。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70000430/viewspace-2782518/ ,如需转载,请注明出处,否则将追究法律责任。