java查询树形结构
==树形结构是可以通过sql直接进行查询的,因为有些sql的版本不够无法直接使用,或者需求一些其他的处理==
private String id;
private String pid;
private Integer level;
private Integer type;
private String name;
private List<TreeDTO> children;
List<TreeDTO> treeDTOList = inventoryTypeMapper.selectListById(idDTO.getId());
treeDTOList.addAll(inventoryTypeTableMapper.selectListById(idDTO.getId()));
private List<TreeDTO> codeCreateTree(List<TreeDTO> lists, String pid, Integer level) {
List<TreeDTO> tree = new ArrayList<>();
for (TreeDTO treeDTO : lists) {
treeDTO.setLevel(level);
if (treeDTO.getPid().equals(pid)) {
if (treeDTO.getType() != 1) {
List<TreeDTO> treeDTOList = codeCreateTree(lists, treeDTO.getId(), level + 1);
treeDTO.setChildren(treeDTOList);
}
tree.add(treeDTO);
}
}
return tree;
}