首页 > 编程知识 正文

java创建目录,java项目目录结构

时间:2023-05-04 21:27:19 阅读:195932 作者:3596

背景:

三级树实现效果

这里只介绍,查询数据库,构建三级目录的后端业务逻辑

1.创建查询类(对应数据库需要查出的字段)

@Data@AllArgsConstructor@NoArgsConstructorpublic class ColumnTree { private Integer value; //当前标签的id private String label; private Integer parentId;//当前标签的父id private List<ColumnTree> children = new ArrayList<>();//递归思想,这个属性将作为子级目录}

2.service层的业务逻辑

public GlobalResponse findColumnsTree() {//先查询出数据所有的标签数据列表List<ColumnTree> columnTrees = columnMapper.selectTreeInfo(); //判断是否有数据 if (CollectionUtils.isNotEmpty(columnTrees)) { // 过滤所有的一级目录,父id为0 List<ColumnTree> firstColumn = columnTrees.stream().filter(c -> c.getParentId().toString().equals("0")).collect(Collectors.toList()); //查出非一级目录,按照其父id分类 Map<Integer, List<ColumnTree>> collect = columnTrees.stream().filter(c -> !(c.getParentId().toString().equals("0"))).collect(Collectors.groupingBy(ColumnTree::getParentId)); //遍历一级目录 firstColumn.forEach(a -> { //如果一级目录的id中是否包含非一级目录的父id if (collect.get(a.getValue()) == null) { //没有,说明不是该一级目录没有下一级目录,则将其子目录设为空 a.setChildren(new ArrayList<>()); } else { //有,则说明有二级目录,将二级目录的的List集合,赋给子目录 a.setChildren(collect.get(a.getValue())); //构建三级树 //遍历二级目录,判断是否含有三级目录 collect.get(a.getValue()).forEach(b -> { if (collect.get(b.getValue()) == null) { //没有,将二级目录下的三级目录设为空 b.setChildren(new ArrayList<>()); } else { //有,将三级目录的List集合,赋给三级目录 b.setChildren(collect.get(b.getValue())); } }); } }); //将firstColumn返回,前端可以通过遍历获取各级目录的数据从而形成三级树的效果 return GlobalResponse.success(firstColumn); } else { return GlobalResponse.success(new ArrayList<>()); } }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。