详细解读权限控制中的ER关系(新手入门必备知识)

本文详细介绍了在权限控制背景下ER关系的概念,通过用户、角色和菜单三张表举例,分析了多对多、多对一等关系,并探讨了Hibernate和Mybatis框架中的ER关系映射配置。同时,提到了数据库设计中的菜单权限处理和个人对外键使用的心得。
摘要由CSDN通过智能技术生成

本文将结合权限控制进行对ER关系的详细讲解,希望能给JavaWeb开发的新手朋友们带来一点帮助,本文中叙述可能存在不足之处,还请大家指出!(写博不易,尊重版权)

关于权限控制,无外乎用户User、角色Role、菜单Menu三张表,所以先建表如下:

以上为常用两种建表模式,是针对于用户和角色的ER关系不同进行分类的,下面进行详细解读:

首先角色和权限是多对多关系,这毫无疑问,一个角色可以使用多个菜单,一个菜单可以被多个角色使用

图一:用户和角色是多对多关系,这是最符合实际情况也是最常用的,因为一个用户可以担任多个角色(用户A可以同时担任项目经理和架构师两种角色),一个角色也可以对应多个用户(项目经理有A、B、C三人)

图二:用户和角色是多对一关系,这是结合实际问题中对权限控制进行的简化处理,即认为一个用户只能担任一个角色或者只考虑用户的主要角色,次要角色不予考虑,如A是管理员(一对一),B、C都是普通用户(多对一)


开始编写javabean和解析SSM和SSH中的ER关系映射文件(以简化形式图二为例):

User表实体类:(仅仅写主要部分)

public class Admin {
private Integer id;
private String account;
private String password;
private String name;
private Integer state;
// 多对一:外键r_id
private Role role;

}

Role表实体类:

public class Role {
private Integer id;
private String name;
private Integer state;
//

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值