本文实例为大家分享了java实现递归菜单树的具体代码,供大家参考,具体内容如下
1。表结构
设置FOREIGN_KEY_CHECKS=0; -- ---------------------------- ——菜单表结构 -- ---------------------------- 删除表如果存在“菜单”; 创建表“菜单”( “id”int(11)不是零AUTO_INCREMENT, ‘menu_name varchar (64) NOT NULL评论“菜单名称”, order_num int(11)默认空评论“菜单顺序”, “url”varchar(64)默认空评论“菜单路径”, “pid”varchar(11)默认空评论”上级Id”, “图标”varchar(255)默认空评论“菜单图标”, 主键(“id”) )引擎=InnoDB AUTO_INCREMENT=11默认字符集=utf8; -- ---------------------------- ——记录菜单 -- ---------------------------- 插入“菜单”值(' 1 ','系统管理',' 1 ',”,“0”,空); 插入“菜单”值(' 2 ','轨迹查询”,“2”,“‘0’,null); 插入“菜单”值(“3”、“设备信息”,“3”,“‘0’,null); 插入“菜单”值(“4”,“用户信息’,‘1’,”,“1”,空); 插入”菜单的值(“5”,“客户信息”,“2”,null, ' 1 ', null); 插入”菜单的值(“6”,“用户资料”,“1”,null,‘4’, null); 插入”菜单的值(“7”,“客户资料”,“1”,空,“5”,null); 插入“菜单”值(“8”,“切割机',' 1 ',null, ' 3 ', null); 插入”菜单的值(“9”,“铲车”,“2”,null, ' 3 ', null); 插入“菜单”值(“10”、“割片’,‘1’,null,“8”, null);
2。菜单实体类
进口lombok.Data; 进口java.io.Serializable; 进口并不知道; 进口javax.persistence。*;/* * * * @author m * @qq.com 123456789 * @date 2019-12-13 16:54:59 */@ data @ table (name="菜单") 公共类菜单实现Serializable { 私有静态最终长serialVersionUID l=1;//@ id 私人整数id;//菜单名称 @ column (name=" menu_name ") 私人字符串menuName;//菜单顺序 @ column (name=" order_num ") 私人整数orderNum;//菜单路径 @ column (name=" url ") 私人字符串url;//上级Id @ column (name=皃id”) 私人pid字符串;//菜单图标 @ column (name=巴急辍? 私人字符串图标;//子菜单 @Transient 私人List
3。菜单树
/* * *获取菜单树 * @return */公共List
4。测试
{ “状态”:200年, “消息”:“操作成功”, “数据”:( { “id”: 1、 :“menuName系统管理”, “orderNum”: 1、 " url ": " ", “pid”:“0”, “图标”:空, “孩子”:( { “id”: 4 “menuName”:“用户信息”, “orderNum”: 1、 " url ": " ", “pid”:“1”, “图标”:空, “孩子”:( { “id”: 6, “menuName”:“用户资料”, “orderNum”: 1、 “url”:空, “pid”:“4”, “图标”:空, “孩子”:[] } ] }, { “id”: 5 :“menuName客户信息”, “orderNum”: 2 “url”:空, “pid”:“1”, “图标”:空, “孩子”:( { “id”: 7, :“menuName客户资料”, “orderNum”: 1、 “url”:空, “pid”:“5”, “图标”:空, “孩子”:[] } ] } ] }, { “id”: 2 :“menuName轨迹查询”, “orderNum”: 2 " url ": " ", “pid”:“0”, “图标”:空, “孩子”:[] }, { “id”: 3, :“menuName设备信息”, “orderNum”: 3, " url ": " ", “pid”:“0”, “图标”:空, “孩子”:( { “id”: 8 “menuName”:“切割机”, “orderNum”: 1、 “url”:空, “pid”:“3”, “图标”:空, “孩子”:( { “id”: 10 “menuName”:“割片”, “orderNum”: 1、 “url”:空, “pid”:“8”, “图标”:空, “孩子”:[] } ] }, { “id”: 9, :“menuName铲车”, “orderNum”: 2 “url”:空, “pid”:“3”, “图标”:空, “孩子”:[] } ] } ] }java实现递归菜单树