求个mysql树形菜单查询后台转成无限层json的样式。

求个mysql树形菜单查询后台转成无限层json的样式。image
实现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