java用户里获取部门id_javaWeb开发,根据部门ID查询该部门和下属所有部门的ID集合...
由于博主太菜,就直接上图了,结果是正确的。
1:首先看下数据库
2:对应的实体类
3:mapper.xml和mapper.java
再xml中根据限定条件查询出当前所有的部门集合
4:在serviceImpl中做逻辑处理,最后用递归求出结果。
public class PostTotalNumServiceImpl implements PostTotalNumService {
/**
* 根据部门ID获取该部门及其下属部门的ID集合
*/
public List getDeptIdList(String deptId) {
Department department = this.getDepartment(deptId);
List deptIdList = new ArrayList<>();
if (department != null) {
deptIdList.add(department.getId());
deptIdList = addDeptIdList(deptIdList, department);
}
return deptIdList;
}
/**
* 根据部门ID获取该部门及其下属部门树
*/
public Department getDepartment(String deptId) {
List departments = departmentMapper.findAllDepartments();
Map map = departments.stream().collect(
Collectors.toMap(Department::getId, department -> department));
for (Department dept : map.values()) {
Department parent = map.get(dept.getPid());
if (parent != null) {
List children = parent.getChildren() == null ? new ArrayList<>() : parent.getChildren();
children.add(dept);
parent.setChildren(children);
}
}
return map.get(deptId);
}
public List addDeptIdList(List deptIdList, Department department) {
List children = department.getChildren();
if (children != null) {
for (Department d : children) {
deptIdList.add(d.getId());
addDeptIdList(deptIdList, d);
}
}
return deptIdList;
}
}
5:service接口
public interface PostTotalNumService {
/**
*查出当前部门和下属部门的集合
*/
List deptList(String pkDept);
}
6:junit单元测试
public class PostTest extends BaseTest {
@Autowired
private PostTotalNumService postService;
@Test
public void postTest(){
//查询当前部门及下属部门的集合
List strings = postService.deptList("1001K31000000003M1BT");
System.out.println(strings.size());
}
}
java用户里获取部门id_javaWeb开发,根据部门ID查询该部门和下属所有部门的ID集合...相关推荐
- 在普通java类里获取Spring管理的bean
转自:http://blog.csdn.net/a9529lty/article/details/42145545 如何取得Spring管理的bean (请用第3种方法): 1.servlet方式加 ...
- java 黑马头条 day4 自媒体文章发布 自媒体文章列表查询 频道列表展示 自媒体文章-发布、修改、保存草稿 自媒体文章-根据id查询 自媒体文章-删除
1 自媒体文章列表查询 1.1 需求分析 1.2 表结构和实体类 wm_news 自媒体文章表 需求: 如果有文章标题,按照文章标题模糊查询 如果有频道信息,按照频道ID查询 如果有文章状态,按照状态 ...
- mybatis根据用户id查询角色以及角色对应的权限
查询到的数据 { "name": "admin", "role": { "id": 1, ...
- java读取微信消息_微信公众平台开发中使用Java如何实现获取用户的信息
微信公众平台开发中使用Java如何实现获取用户的信息 发布时间:2020-11-18 15:09:28 来源:亿速云 阅读:93 作者:Leah 本篇文章为大家展示了微信公众平台开发中使用Java如何 ...
- java 钉钉获取用户信息,JAVA maven项目如何使用钉钉SDK来获取token、用户
JAVA maven项目如何使用钉钉SDK来获取token.用户 发布时间:2020-07-17 10:52:32 来源:亿速云 阅读:102 作者:小猪 这篇文章主要为大家展示了JAVA maven ...
- Android 开发 Activity里获取View的宽度和高度 转载
Android 开发 Activity里获取View的宽度和高度 转载 原文地址:https://blog.csdn.net/chenbaige/article/details/77991594 前言 ...
- 企业微信接收消息服务器配置php,微信企业号配置及在公众号里获取用户信息
微信企业号配置及在公众号里获取用户信息 1.1.企业公众号里新建应用,回掉模式里自定义回调URL及密钥拿到,创建应答数据 配置成功后显示: 已成功配置企业服务器 URL http://75271.co ...
- 如何获取Java用户输入?
本文翻译自:How can I get the user input in Java? I attempted to create a calculator, but I can not get it ...
- 使用Java+SSM(Spring+SpringMVC+Mybatis)如何开发个性化音乐推荐系统 在线音乐推荐网站 基于用户、项目的协同过滤推荐算法实现MusicRecommendSystemWeb
使用Java+SSM(Spring+SpringMVC+Mybatis)如何开发个性化音乐推荐系统 在线音乐推荐网站 基于用户.项目的协同过滤推荐算法实现MusicRecommendSystemWeb ...
最新文章
- ifs 报表开发手册_房地产开发资质要求《暂定资质证书》相关规定
- CNVD-C-2019-48814 漏洞
- linux fedora35安装、登录postgresql-14数据库命令整理
- html5家谱资源网,免费家谱系统(ASP,Access,CSS,html5)
- 水平集嵌入函数的曲率
- 物联网全称_物联网的魔力世界
- 【Kafka】kafka消费者参数
- 如何化身BAT面试收割机?都是精髓!
- 读写分离架构的两种方式及问题
- 卫星通信系统按照工作轨道分类
- janusgraph 引入 java,janusgraph 默认server使用手记
- MyBatis中使用的一些特殊符号标识(大于等于、小于等于、等于、不等于)
- MYSQL的基础命令一
- 《Adobe Photoshop CS4中文版经典教程》目录—导读
- 中企海外周报 | 传祺GM6将亮相北美车展,锦江都城发力布局全球
- 生命密码是几适合学计算机,数字生命密码是什么?
- C++实现伪大素数生成算法(费马小定理判别法、米勒拉宾素数判定法)
- 【编程生活】自动化数据均分助手
- 网站被流量攻击了,如何解决
- EOS智能合约开发系列(十): 抵御彩虹攻击
热门文章
- 用与非门设计血型配对电路_电路板中与非门集成电路的控制原理
- 数据库存储模型-数据存储
- ES6的变量声明详述
- 社交网络图中结点的“重要性”计算 (30 分)【最高效解法】
- (*长期更新)软考网络工程师学习笔记——Section 12 Linux系统与文件管理命令
- Web前端开发笔记——第四章 JavaScript程序设计 第四节 条件语句和循环语句
- python 问题自动匹配解决方案_匹配字典集。最优雅的解决方案。Python
- 远程访问及控制(详解)——SSH远程管理及TCP Wrappers 访问控制
- 这次来个BGP反射器的简单小实验
- ajax servlet设置响应,在jquery的请求ajax与在servlet中的响应ajax