首页 > 其他 > 详细

MyBatis从入门到精通(2):MyBatis XML方式的基本用法

时间:2019-07-12 21:05:50      阅读:115      评论:0      收藏:0      [点我收藏+]

本章将通过完成权限管理的常见业务来学习 MyBatis XML方式的基本用法

2.1一个简单的权限控制需求

权限管理的需求: 一个用户拥有若干角色,一个角色拥有若干权限,权限就是对某个模块资源的某种操作(增、删、改、查),这便是“用户-角色-权限”的授权模型。

采用RBAC(Role-Based Access Control,基于角色的访问控制)方式。

技术分享图片

 

2.1.1 创建数据库表

 在已经创建好的 mybatis数据库中执行如下SQL脚本。( 如何通过SQL脚本用Navicat管理数据库,请参考我上一篇博客的 1.3.1  准备数据库

 执行如下脚本创建上图中的5张表:用户表,角色表,权限表,用户角色关联表,角色权限关联表。

CREATE TABLE sys_user
(
  id BIGINT NOT NULL AUTO_INCREMENT COMMENT 用户ID,
  user_name VARCHAR(50) COMMENT 用户名,
  user_password VARCHAR(50) COMMENT 密码,
  user_email VARCHAR(50) COMMENT 邮箱,
  user_info TEXT COMMENT 简介,
  head_img BLOB COMMENT 头像,
  create_time DATETIME COMMENT 创建时间,
  PRIMARY KEY (id)
);
ALTER TABLE sys_user COMMENT 用户表;

CREATE TABLE sys_role
(
  id BIGINT NOT NULL AUTO_INCREMENT COMMENT 角色ID,
  role_name VARCHAR(50) COMMENT 角色名,
  enabled INT COMMENT 有效标志,
  create_by BIGINT COMMENT 创建人,
  create_time DATETIME COMMENT 创建时间,
  PRIMARY KEY (id)
);
ALTER TABLE sys_role COMMENT 角色表;

CREATE TABLE sys_privilege
(
  id BIGINT NOT NULL AUTO_INCREMENT COMMENT 权限ID,
  privilege_name VARCHAR(50) COMMENT 权限名称,
  privilege_url VARCHAR(200) COMMENT 权限URL,
  PRIMARY KEY (id)
);
ALTER TABLE sys_privilege COMMENT 权限表;

CREATE TABLE sys_user_role
(
  user_id BIGINT COMMENT 用户ID,
  role_id BIGINT COMMENT 角色ID
);
ALTER TABLE sys_user_role COMMENT 用户角色关联表;

CREATE TABLE sys_role_privilege
(
  role_id BIGINT COMMENT 角色ID,
  privilege_id BIGINT COMMENT 权限ID
);
ALTER TABLE sys_role_privilege COMMENT 角色权限关联表;

为了方便后面的测试,接着在表中用SQL脚本插入一些测试数据。

INSERT INTO sys_user VALUES (1,admin,123456,admin@mybatis.tk,管理员,NULL,current_timestamp);
INSERT INTO sys_user VALUES (1001,test,123456,test@mybatis.tk,测试用户,NULL,current_timestamp);

INSERT INTO sys_role VALUES (1,管理员,1,1,current_timestamp);
INSERT INTO sys_role VALUES (2,普通用户,1,1,current_timestamp);

INSERT INTO sys_user_role VALUES (1,1);
INSERT INTO sys_user_role VALUES (1,2);
INSERT INTO sys_user_role VALUES (1001,2);

INSERT INTO sys_privilege VALUES (1,用户管理,/users);
INSERT INTO sys_privilege VALUES (2,角色管理,/roles);
INSERT INTO sys_privilege VALUES (3,系统日志,/logs);
INSERT INTO sys_privilege VALUES (4,人员维护,/persons);
INSERT INTO sys_privilege VALUES (5,单位维护,/companies);

INSERT INTO sys_role_privilege VALUES (1,1);
INSERT INTO sys_role_privilege VALUES (1,2);
INSERT INTO sys_role_privilege VALUES (1,3);
INSERT INTO sys_role_privilege VALUES (2,4);
INSERT INTO sys_role_privilege VALUES (2,5);

 

 

MyBatis从入门到精通(2):MyBatis XML方式的基本用法

原文:https://www.cnblogs.com/MarlonKang/p/11178052.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!