VC TreeList树形列表控件

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现树形结构的列表查询可以使用递归查询或者使用数据库自身的树形结构查询语句,下面介绍一种基于MyBatis-Plus和递归查询实现的方法。 首先定义一个树形结构的实体类,包含id、父节点id、名称、子节点列表等属性。如下: ```java @Data @EqualsAndHashCode(callSuper = true) public class TreeEntity extends BaseEntity { private Long parentId; @TableField(exist = false) private List<TreeEntity> children; } ``` 接着创建一个Mapper接口,定义一个递归查询方法,根据父节点id查询子节点列表,并且递归查询子节点的子节点列表。 ```java public interface TreeMapper extends BaseMapper<TreeEntity> { List<TreeEntity> selectTreeList(@Param("parentId") Long parentId); } ``` 在Mapper.xml中实现该方法,具体实现如下: ```xml <select id="selectTreeList" resultMap="BaseResultMap"> with recursive cte(id, parent_id, name, create_time) as ( select id, parent_id, name, create_time from tree where parent_id = #{parentId} union all select t.id, t.parent_id, t.name, t.create_time from tree t inner join cte on cte.id = t.parent_id ) select * from cte </select> ``` 在Service层中调用该方法,实现树形结构的列表查询。如下: ```java @Service public class TreeServiceImpl extends ServiceImpl<TreeMapper, TreeEntity> implements TreeService { @Override public List<TreeEntity> getTreeList(Long parentId) { List<TreeEntity> treeList = baseMapper.selectTreeList(parentId); for (TreeEntity tree : treeList) { List<TreeEntity> children = getTreeList(tree.getId()); if (!CollectionUtils.isEmpty(children)) { tree.setChildren(children); } } return treeList; } } ``` 以上就是基于MyBatis-Plus和递归查询实现的树形结构的列表查询方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值