多表查询结果 组装树结构

最近有个需求希望提供下思路

举例: 有公司表,部门表,员工表 所有关系按一对多

查询所有公司下的部门,部门下的所有员工,并组装成树结构返回 父节点还要统计子节点数量

父节点下有子节点则显示 , 没有不显示

目前想到的就是:for里套for,遍历所有公司 根据公司id查询部门以此类推

各位 给提供个别的思路吧

直接嵌套查询,mybatis

<resultMap>
<collection></collection>
</resultMap>

如果数据量不是很大,一次加载所有公司 部门 人员,加到内存linkq处理,如果数量比较大,数据库多张中间表处理吧,处理完一次性返回