以文件类型为例,进行的树形查询
需要定义文件类型树形封装类(FileTypeTreeVO)
//@Data 注解是 能够提供get set 方法
@Data
public class FileTypeTreeVO {
private Integer sft_id;
private String type_name;
private Integer pId;
private String mark;
private List children;
}
文件类型的封装类
@Data
public class TFileType {
private Integer sft_id;
private String type_name;
private Integer pId;
private String mark;
}
整体思路:根据文件id查询出所有的文件 放到List集合中去 然后遍历该集合 找出父节点 把父节点放入到一个集合中 再进行遍历 利用递归 反复查找。
参数 List fileType :所有文件
public static List findFileTypeTree(List fileType){
List root=new ArrayList(); //新建一个父节点集合
Iterator fileResult=fileType.iterator(); //遍历所有文件
while(fileResult.hasNext()){
TFileType tfileType=fileResult.next();
FileTypeTreeVO fileTypeTreeVO=new FileTypeTreeVO();