@tablefield(exist = fal) private t<sysmenu> childrenlist = new hasht<>();
public sysmenu getchildrenlist(sysmenu sysmenu, list<sysmenu> sysmenulist) { for (sysmenu menu : sysmenulist) { if (menu.getmenuparentid().equals(sysmenu.getid())) { sysmenu.getchildrenlist().add(getchildrenlist(menu, sysmenulist)); } } return sysmenu; }
public list<sysmenu> menutree() { //获取所有菜单 list<sysmenu> sysmenulist = list(new lambdaquerywrapper<sysmenu>() //::在java8中的作用就是获得方法 作用点 .eq(sysmenu::getmenutype, resultconstant.menu) ); //stream().filter()作用:过滤一个list对象,查找符合条件的对象集合 list<sysmenu> firstmenulist = sysmenulist.stream().filter //过滤出一级菜单 (s -> s.getmenuparentid().equals(resultconstant.menu_top)) // 返回list集合形式 .collect(collectors.tolist()); // 遍历一级菜单,构造菜单树 for (sysmenu menu : firstmenulist) { getchildrenlist(menu, sysmenulist); } return firstmenulist; }
菜单表如下
create table `sys_menu` (`id` bigint(20) not null auto_increment,`menu_name` varchar(255) collate utf8mb4_bin default null comment '资源名称',`menu_permission` varchar(255) collate utf8mb4_bin default null comment '权限',`menu_path` varchar(255) collate utf8mb4_bin default null comment '对应url',`menu_parent_id` bigint(20) default null comment '父节点id',`menu_type` int(11) default null comment '菜单类型0菜单,1栏目类型',`order_num` int(11) default null comment '排序字段:值越小 顺序越靠前',`create_time` datetime default null comment '创建时间',`update_time` datetime default null comment '最后更新时间',primary key (`id`) using btree) engine=innodb auto_increment=75 default chart=utf8mb4 collate=utf8mb4_bin row_format=dynamic comment='菜单表';-- ------------------------------ records of sys_menu-- ----------------------------inrt into `sys_menu` values ('1', '菜单树', 'homepage:menutree', '', '0', '0', '1', '2021-09-17 12:46:11', '2021-09-17 12:46:11');inrt into `sys_menu` values ('2', '登录模块', null, null, '0', '0', '2', null, null);inrt into `sys_menu` values ('3', '登录', null, '/login', '2', '1', '1', null, null);inrt into `sys_menu` values ('4', '修改密码', null, '/login/updatepassword', '2', '1', '2', null, null);inrt into `sys_menu` values ('5', '修改个人信息', null, '/login/updatemessage', '2', '1', '3', null, null);inrt into `sys_menu` values ('6', '忘记密码', 'login:forgetpassword', '/login/forgetpassword', '2', '1', '4', null, null);inrt into `sys_menu` values ('7', '消息通知管理', null, null, '0', '0', '3', null, null);inrt into `sys_menu` values ('8', '发布通知', 'notice:inrt', '/notice/inrt', '7', '1', '1', null, null);inrt into `sys_menu` values ('9', '修改通知', 'notice:update', '/notice/update', '7', '1', '2', null, null);inrt into `sys_menu` values ('10', '删除通知', 'notice:delete', '/notice/delete', '7', '1', '3', null, null);inrt into `sys_menu` values ('11', '查看所有通知', 'notice:listall', '/notice/listall', '7', '1', '4', null, null);inrt into `sys_menu` values ('12', '查看本人已发布通知', 'notice:noticelist', '/notice/noticelist', '7', '1', '5', null, null);inrt into `sys_menu` values ('13', '查看所有已发布通知', 'notice:releadnotice', '/notice/releadnotice', '7', '1', '6', null, null);inrt into `sys_menu` values ('14', '系统管理', null, null, '0', '0', '4', null, null);inrt into `sys_menu` values ('15', '用户管理', null, null, '14', '0', '1', null, null);inrt into `sys_menu` values ('16', '添加用户', 'ur:inrt', '/ur/inrt', '15', '1', '1', null, null);inrt into `sys_menu` values ('17', '修改用户信息', 'ur:update', '/ur/update', '15', '1', '2', null, null);inrt into `sys_menu` values ('18', '删除用户信息', 'ur:delete', '/ur/delete', '15', '1', '3', null, null);inrt into `sys_menu` values ('19', '查看所有用户信息', 'ur:listall', '/ur/listall', '15', '1', '4', null, null);inrt into `sys_menu` values ('20', '分配用户角色', 'ur:trole', '/ur/trole', '15', '1', '5', null, null);inrt into `sys_men正副标题的格式u` values ('21', '角色管理', null, null, '14', '0', '2', null, null);inrt into `sys_menu` values ('22', '添加角色', 'role:inrt', '/role/inrt', '21', '1', '1', null, null);inrt into `sys_menu` values ('23', '修改角色信息', 'role:update', '/role/update', '21', '1', '2', null, null);inrt into `sys_menu` values ('24', '删除角色', 'role:delete', '/role/delete', '21', '1', '3', null, null);inrt into `sys_menu` values ('25', '查看所有角色', 'role:listall', 'role:listall', '21', '1', '4', null, null);inrt into `sys_menu` values ('26', '设置角色权限', 'role:tmenu', '/role/tmenu', '21', '1', '5', null, null);inrt into `sys_menu` values ('27', '查看自己是否各个拥有角色', 'role:myrole', '/role/myrole', '21', '1', '6', null, null);inrt into `sys_menu` values ('28', '权限管理', null, null, '14', '0', '3', null, null);inrt into `sys_menu` values ('29', '添加权限', 'menu:inrt', '/menu/inrt', '28', '1', '1', null, null);inrt into `sys_menu` values ('30', '修改权限', 'menu:update', '/menu/update', '28', '1', '2', null, null);inrt into `sys_menu` values ('31', '删除权限', 'menu:delete', '/menu/delete', '28', '1', '3', null, null);inrt into `sys_menu` values ('32', '查看所有权限', 'menu:listall', '/menu/listall', '28', '1', '4', null, null);inrt into `sys_menu` va斯蒂格利茨lues ('33', '登录日志', '', '', '14', '0', '4', null, null);inrt into `sys_menu` values ('34', '操作日志', '', '', '14', '0', '5', null, null);inrt into `sys_menu` values ('35', '信息管理', null, null, '0', '0', '5', null, null);inrt into `sys_menu` values ('36', '查看所有学生信息', 'student:listall', '/student/listall', '35', '0', '1', null, null);inrt into `sys_menu` values ('37', '查看所有教师信息', 'teacher:listall', '/teacher/listall', '35', '0', '2', null, null);inrt into `sys_menu` values ('38', '班级信息管理', null, null, '35', '0', '3', null, null);inrt into `sys_menu` values ('39', '添加班级', 'class:inrt', '/class/inrt', '38', '1', '1', null, null);inrt into `sys_menu` values ('40', '修改班级信息', 'class:update', '/class/update', '38', '1', '2', null, null);inrt into `sys_menu` values ('41', '删除班级', 'class:delete', '/class/delete', '38', '1', '3', null, null);inrt into `sys_menu` values ('42', '查看所有班级', 'class:listall', '/class/listall', '38', '1', '4', null, null);inrt into `sys_menu` values ('43', '专业管理', null, null, '35', '0', '4', null, null);inrt into `sys_menu` values ('44', '添加专业', 'major:inrt', '/major/inrt', '43', '1', '1', null, null);inrt into `sys_menu` values ('45', '修改专业信息', 'major:update', '/major/update', '43', '1', '2', null, null);inrt into `sys_menu` values ('46', '删除专业', 'major:delete', '/major/delete', '43', '1', '3', null, null);inrt into `sys_menu` values ('47', '查看所有专业', 'major:listall', '/major/listall', '43', '1', '4', null, null);inrt into `sys_menu` values ('48', '学院管理', null, null, '35', '0', '5', null, null);inrt into `sys_menu` values ('49', '添加学院', 'institute:inrt', '/institute/inrt', '48', '1', '1', null, null);inrt into `sys_menu` values ('50', '修改学院信息', 'institute:update', '/institute/update', '48', '1', '2', null, null);inrt into `sys_menu` values ('51', '删除学院', 'institute:delete', '/institute/delete', '48', '1', '3', null, null);inrt into `sys_menu` values ('52', '查看所有学院', 'institute:listall', '/institute/listall', '48', '1', '4', null, null);inrt into `sys_menu` values ('53', '上课管理', null, null, '0', '0', '6', null, null);inrt into `sys_menu` values ('54', '课程表', null, null, '53', '0', '1', null, null);inrt into `sys_menu` values ('55', '添加课程', 'lesson:inrt', '/lesson/inrt', '54', '1', '1', null, null);inrt into `sys_menu` values ('56', '修改课程', 'lesson:update', '/lesson/update', '54', '1', '2', null, null);inrt into `sys_menu` values ('57', '删除课程', 'lesson:delete', '/lesson/delete', '54', '1', '3', null, null);inrt into `sys_menu` values 生本教育('58', '查看所有课程', 'lesson:listall', '/lesson/listall', '54', '1', '4', null, null);inrt into `sys_menu` values ('59', '考勤管理', null, null, '53', '0', '2', null, null);inrt into `sys_menu` values ('60', '教师发放签到', 'lesson:startcour', '/lesson/startcour', '59', '1', '1', null, null);inrt into `sys_menu` values ('61', '学生签到', 'attendance:studentsignin', '/attendance/studentsignin', '59', '1', '2', null, null);inrt into `sys_menu` values ('62', '查看考勤信息', 'attendance:listall', '/attendance/listall', '59', '1', '3', null, null);inrt into `sys_menu` values ('63', '请假管理', null, null, '0', '0', '7', null, null);inrt into `sys_menu` values ('64', '学生请假', 'leave:studentleave', '/leave/studentleave', '63', '1', '1', null, null);inrt into `sys_menu` values ('65', '修改请假信息', 'leave:studentupdate', '/leave/studentupdate', '63', '1', '2', null, null);inrt into `sys_menu` values ('66', '删除请假', 'leave:studentdelete', '/leave/studentdelete', '63', '1', '3', null个人求职简历表, null);inrt into `sys_menu` values ('67', '查看所有请假信息', 'leave:listall', '/leave/listall', '63', '1', '4', null, null);inrt into `sys_menu` values ('68', '请假审批', 'leave:approval', '/leave/approval', '63', '1', '5', null, null);inrt into `sys_menu` values ('69', '查看登录日志', 'loginlog:listall', '/loginlog/listall', '33', '1', '1', null, null);inrt into `sys_menu` values ('70', '删除登录日志', 'loginlog:delete', '/loginlog/delete', '33', '1', '2', null, null);inrt into `sys_menu` values ('71', '查看操作日志', 'operatelog:listall', '/operatelog/listall', '34', '1', '1', null, null);inrt into `sys_menu` values ('72', '删除操作日志', 'operatelog:delete', '/operatelog/delete', '34', '1', '2', null, null);inrt into `sys_menu` values ('73', '分配教师班级', 'teacher:assignteacherclass', '/teacher/assignteacherclass', '38', '1', '5', null, null);inrt into `sys_menu` values ('74', '查看教师是否任教各个班级', 'teacher:myclass', '/teacher/myclass', '38', '1', '6', null, null);
效果如下
到此这篇关于spring boot + mybatis plus实现树状菜单的文章就介绍到这了,更多相关spring boot mybatis plus树状菜单内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!
本文发布于:2023-04-04 02:23:52,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/93fe181424bcf1fc5651b94808392615.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:Spring Boot + Mybatis Plus实现树状菜单的方法.doc
本文 PDF 下载地址:Spring Boot + Mybatis Plus实现树状菜单的方法.pdf
留言与评论(共有 0 条评论) |