首页 > 其他 > 详细

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

时间:2019-07-12 21:05:50      阅读:120      评论: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 版权所有
打开技术之扣,分享程序人生!