Java中如何实现递归查询部门树形结构数据
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,小编给大家分享一下Java中如何实现递归查询部门树形结构数据,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!说明:在开发中,我们经常使用树形结构来展示菜单选项,如图:那么我们在后端怎么
千家信息网最后更新 2025年01月31日Java中如何实现递归查询部门树形结构数据
小编给大家分享一下Java中如何实现递归查询部门树形结构数据,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
说明:在开发中,我们经常使用树形结构来展示菜单选项,如图:
那么我们在后端怎么去实现这样的一个功能呢?
1、数据库表:department
2、编写sql映射语句
3、创建实体类
public class Department { private String departmentcode;//部门code private String departmentname;//部门名称 private String updepartmentcode="0";//上级部门 private String departmentdesc;//部门描述 private ListchildDept =new ArrayList();//部门信息树 public String getDepartmentcode() { return departmentcode; } public void setDepartmentcode(String departmentcode) { this.departmentcode = departmentcode == null ? null : departmentcode.trim(); } public String getDepartmentname() { return departmentname; } public void setDepartmentname(String departmentname) { this.departmentname = departmentname == null ? null : departmentname.trim(); } public String getUpdepartmentcode() { return updepartmentcode; } public void setUpdepartmentcode(String updepartmentcode) { this.updepartmentcode = updepartmentcode == null ? null : updepartmentcode.trim(); } public String getDepartmentdesc() { return departmentdesc; } public void setDepartmentdesc(String departmentdesc) { this.departmentdesc = departmentdesc == null ? null : departmentdesc.trim(); } public List getChildDept() { return childDept; } public void setChildDept(List childDept) { this.childDept = childDept; }}
4、定义mapper
@Mapperpublic interface DepartmentMapper { ListselectDepartmentTrees(Department department); }
5、定义service业务层实现
@Service@Transactionalpublic class DepartmentImpl implements IDepartmentService { @Resource DepartmentMapper departmentMapper; @Override public ListselectDepartmentTrees(Department department) { return departmentMapper.selectDepartmentTrees(department); }}
6、控制层实现
@RestController@RequestMapping("department")public class DepartmentController { @Resource IDepartmentService departmentService; @Resource IStationService stationService; /** * 查询所有部门 树形展示所有部门 包含模糊查詢 * * @return */ @RequestMapping("/treelist") public Object selectAll(Department department) { ModelMap map = new ModelMap(); try { ListdepartmentDtos = getDepartmentList(department); map.put("msg", "查询部门成功"); map.put("data", departmentDtos); map.put("code", 0); } catch (Exception e) { e.printStackTrace(); map.put("msg", "查询部门失败"); map.put("code", 1); } return map; } /** * 递归查询部门 * @param department * @return */ private List getDepartmentList(Department department) { List departments =departmentService.selectDepartmentTrees(department); if (departments.size()>0){ Department department1=new Department(); for (int i = 0; i dtos=getDepartmentList(department1); departments.get(i).setChildDept(dtos); } } return departments; }}
7、进行测试,这里我用postmain工具测试,结果如下图
看完了这篇文章,相信你对"Java中如何实现递归查询部门树形结构数据"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!
部门
查询
树形
数据
结构
递归
篇文章
测试
成功
上级
业务
信息
功能
名称
完了
实体
工具
数据库
更多
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
模电数电对软件开发有影响吗
网络安全检测装置检验注册码
如何保持服务器优质
爱宝迷你版数据库安装向导
软件开发的实质
2018年网络安全员竞赛
深圳那天网络技术
移动终端软件开发技术报告
嵌入式软件开发客户执行
华为网络安全认证考试好考吗
生产服务器什么意思
网络安全预防视频
网络安全法中国家执行什么制度
软件开发销售没有进项怎么办
物料清单是哪个数据库
开发人员网络安全
阿里吧吧中国网络技术有限公司
5evac安全服务器启动项
数据库组别
通信网络技术考题
云度互联网科技有限
软件开发的实质
数据库搭建与管理
服务器迁移影响网站不
法律数据库账号靠谱吗
网络安全督查工作部署会议
服务器配置与管理感悟
如何查找网站使用的代理服务器
精功科技收购互联网
长三角规划软件开发