(课程作业) MyBatis 的 RBAC(基于角色的访问控制)鉴权查询功能,并结合分页功能,通过 MyBatis XML 配置文件和注解实现数据库操作。

1. 项目准备

我们将使用以下技术栈:

  • MyBatis:用于数据库交互的持久层框架
  • MyBatis Plus:MyBatis 的增强版,简化了 CRUD 操作
  • Spring Boot:主流的 Java Web 框架,简化了项目的配置和开发
  • RBAC 模型:基于角色的权限管理模式

数据库表结构设计

为了实现 RBAC 功能,我们需要设计以下几张表:

  1. user:用户表,存储用户的基本信息。
  2. role:角色表,每个用户可以有多个角色。
  3. permission:权限表,每个角色可以拥有多个权限。
  4. user_role:用户与角色的关联表。
  5. role_permission:角色与权限的关联表。
CREATE TABLE user (
    id BIGINT PRIMARY KEY AUTO_INCREMENT,
    username VARCHAR(50) NOT NULL,
    password VARCHAR(50) NOT NULL,
    enabled TINYINT(1) DEFAULT 1
);

CREATE TABLE role (
    id BIGINT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50) NOT NULL
);

CREATE TABLE permission (
    id BIGINT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50) NOT NULL
);

CREATE TABLE user_role (
    user_id BIGINT,
    role_id BIGINT,
    PRIMARY KEY (user_id, role_id),
    FOREIGN KEY (user_id) REFERENCES user(id),
    FOREIGN KEY (role_id) REFERENCES role(id)
);

CREATE TABLE role_permission (
    role_id BIGINT,
    permission_id BIGINT,
    PRIMARY KEY (role_id, permission_id),
    FOREIGN KEY (role_id) REFERENCES role(id),
    FOREIGN KEY (permission_id) REFERENCES permission(id)
);

2. 项目结构

我们的项目结构如下:

src
└── com
    └── atguigu
        ├── entities
        │   ├── User.java
        │   ├── Role.java
        │   └── Permission.java
        ├── mapper
        │   └── UserMapper.java
        └── controller
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值