这里先以二级菜单说起,实现多级菜单有两个策略。
一、策略
1.给每个菜单增加一个level属性表示为几级菜单,解析时按照level的值解析等级。
2.构建树形结构,循环递归实现,不需要多增加属性。
二、Mybatis实现
这里是使用Mybatis实现,不需要自己处理后台数据的情况。
(1)下图为数据库表menus
(2)修改menu实体类
(3)dao层接口
(4)mapper.xml
(5)结果
三、总结
策略1实现起来方便,策略2结构更好。对于更多级的情况,策略2也不能生成最终的树形结构,只能达到第二层。三级菜单需要修改sql语句,增加第三级的列,并且在xml中增加一层collection嵌套(每一层由Id确定)。
转载于:https://www.cnblogs.com/trnanks/p/11379946.html