java实现动态权限(菜单管理)动态添加菜单,动态添加⾓⾊
SSM框架
⾸先是数据库设计
Menu表(菜单表)
Role表(⾓⾊表)
Role_Menu表(⾓⾊菜单关系表)
User表(⽤户表)
ssm框架实现登录功能
User_Role表(⽤户⾓⾊关系表)
其他实体类就略过了
在Menu实体类中添加了⼀个List<Menu>集合
在MenuMapper中写了如下的⽅法
/**
* 根据等级或⽗节点查询菜单信息
* @param level 等级
* @param parentid ⽗节点编号
* @return 菜单信息
*/
List<Menu> selectMenuByLevelOrParentid(@Param("level") int level,@Param("parentid") int parentid);
对应的
<select id="selectMenuByLevelOrParentid" resultType="menu">
SELECT
<include refid="Base_Column_List" />
FROM MENU
<where>
and level = #{level}
and parent_id = #{parentid}
</where>
</select>
MenuService和实现类中
/**
* 查询菜单(⽗⼦菜单对应形式)
* @return
*/
public List<Menu> SelectMenuByparent(Menu m,int level,int parentid);
public List<Menu> SelectMenuByparent(Menu m,int i,int id){
List<Menu> menus=this.selectMenuByLevelOrParentid(i,id);
if(menus!=null) {
if(m!=null) {
m.setMenus(menus);
}
for (Menu menu : menus) {
i++;
this.SelectMenuByparent(menu,Id());
}
}
return menus;
}
在controller中调⽤
/**
* 显⽰所有菜单
* @param model
* @return
*/
@RequestMapping("list")
public String SelectAllMenu(Model model) {
List<Menu> menu = new ArrayList<Menu>();
//查询所有菜单信息
menu = uService.SelectMenuByparent(null,0,0);
//存⼊菜单信息
model.addAttribute("menus", menu);
MenuTree mt = new MenuTree(menu);
return "/Menu/index";
}
源码由于年数多了不到了,⾃⼰的作业⾃⼰做,谢谢
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论