构建树状结构Demo所需数据库脚本:
数据库脚本
数据结构如下:
核心逻辑代码如下:
@Service
public class AreaServiceImpl extends ServiceImpl<AreaMapper, TArea> implements AreaService {
@Autowired
private AreaMapper dao;
@Override
public List<TArea> tree() {
QueryWrapper<TArea> queryWrapper = Wrappers.query();
// 查询所有节点
List<TArea> nodes = dao.selectList(queryWrapper);
// 生成树结构
List<TArea> tree = buildTree(nodes);
return tree;
}
private List<TArea> buildTree(List<TArea> nodes) {
List<TArea> tree = new ArrayList<TArea>();
for (TArea node : nodes) {