java 查询当前部门的所有上级部门
时间: 2024-02-18 12:02:57 浏览: 114
要查询当前部门的所有上级部门,可以使用递归查询的方式来实现。具体步骤如下:
1. 获取当前部门的上级部门ID。
2. 如果上级部门ID不为null,则以上级部门ID为参数,继续查询上级部门的上级部门ID,直到查询到顶级部门为止。
3. 将查询到的所有部门信息保存在一个集合中,按照部门层级从上到下的顺序排列。
4. 返回保存所有部门信息的集合。
下面是一个简单的Java代码示例,用于查询当前部门的所有上级部门:
```java
public List<Department> getAllParentDepartments(Long departmentId) {
List<Department> result = new ArrayList<>();
Department department = departmentMapper.selectById(departmentId);
while (department != null) {
result.add(department);
department = departmentMapper.selectById(department.getParentId());
}
Collections.reverse(result);
return result;
}
```
在这个示例中,我们使用一个while循环来逐级查询上级部门,将查询到的部门信息保存在一个List集合中,并最终返回该集合。注意,为了保证查询结果的正确性,我们需要将查询到的部门信息按照从上到下的顺序排列,因此在最后使用了Collections.reverse()方法来翻转List中元素的顺序。
阅读全文