在实体类添加一个list集合字段
private List<User> childList;
查询出所有数据
List<User> users = userMapper.selectList(null);
通过流去读取数据
List<User> collect = users.stream()
.filter(o -> o.getPid() == 0)
.peek(o -> o.setChildList(getChildCategoryList(o, users)))
.sorted(Comparator.comparingInt(User::getId))
.collect(Collectors.toList());
private List<User> getChildCategoryList(User currMenu, List<User> categories) {
return categories.stream().filter(o -> o.getPid().equals(currMenu.getId()))
.peek(o -> o.setChildList(getChildCategoryList(o, categories)))
.sorted(Comparator.comparingInt(User::getId))
.collect(Collectors.toList());
}