示例#1
0
  public void update(Role role) {
    // TODO Auto-generated method stub
    mapper.update(role);

    // 清除中间表信息
    mapper.deleteRolePermission(role.getId());
    // 保存中间表
    saveRolePermission(role);
  }
示例#2
0
 /**
  * 保存角色和权限的关联(中间表)信息
  *
  * @param role
  */
 private void saveRolePermission(Role role) {
   // 获取待添加的权限
   List<Permission> permissions = role.getPermissions();
   // 判断是否有关联权限
   if (permissions != null && !permissions.isEmpty()) {
     Long roleId = role.getId();
     // 声明集合
     List<RolePermission> list = new ArrayList<>();
     // 遍历
     for (Permission permission : permissions) {
       // 新建关联对象
       RolePermission link = new RolePermission();
       link.setRoleId(roleId);
       link.setPermissionId(permission.getId());
       // 把新关联信息添加到集合中
       list.add(link);
     }
     // 保存关联信息
     mapper.saveRolePermission(list);
   }
 }