求个mysql树形菜单查询后台转成无限层json的样式。
实现layui的树形菜单。
SQL够呛。如果是程序的话,倒是不难。
队列/栈。遍历二叉树一一个操作。
那sql查询出来后。后台做处理如何?
。。我直接给你代码
@Transactional(readOnly = true)
public UserDTO selectSubUsersTree(Integer id) {
UserDTO topUser = this.userMapper.selectById(id);
if (topUser == null) {
return null;
}
LinkedList<UserDTO> queue = new LinkedList<UserDTO>(); // 链表队列
queue.offerFirst(topUser);
while (!queue.isEmpty()) {
UserDTO user = queue.pollFirst();
System.out.println(user);
List<UserDTO> subUsers = this.userMapper.selectByParentId(user.getId());
if (!subUsers.isEmpty()) {
queue.addAll(subUsers);
user.setSubUsers(subUsers);
}
}
return topUser;
}
1 Like