角色编辑模块

流程 -> 客户端发起请求携带 角色id 后端服务器根据角色id 查询出角色自身信息以及相对应授权菜单的id

编辑模块
最终结果:
在这里插入图片描述

角色表: sys_roles
角色表
角色菜单表 : sys_role_menus
在这里插入图片描述

方案一(最简单的) ,性能略低:
业务层多次进行单表查询 先查角色自身信息 再查对应菜单授权 最后在业务层进行封装

pojo:
pojo
RoleMapper:
在这里插入图片描述
RolemenuMapper:
在这里插入图片描述
业务层:

    @Override
    public SysRoleMenu finById(Integer Id) {
        // 参数校验
        AssertUtil.isArgumentValid(Id == null || Id < 0, "请求参数有误");
        
        // 先查询出角色自身信息封装到pojo
        SysRoleMenu sysRoleMenu = sysRoleDao.findById(Id);
        
        // 再查询出相对应的的菜单id封装到pojo中
        List<Integer> menusIdByRoleId = sysRoleMenuDao.findMenusIdByRoleId(Id);
        sysRoleMenu.setMenuIds(menusIdByRoleId);
        
        return sysRoleMenu;
    }

方案二 
数据层嵌套查询

RoleMapper:
在这里插入图片描述

RoleMapper详解:
详解

RolemenuMapper:
在这里插入图片描述
业务层:
在这里插入图片描述
在这里插入图片描述

默认情况下 通过结果集的Id进行嵌套查询 是做映射的 ,如果需要 可以进行手动主键映射
在这里插入图片描述

在这里插入图片描述

自定义手动映射 / 数据列名与pojo名不一样时  可以用:
<result property="name" column="name"/>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值