它们的关系 :用户表与角色表是 多对多关系 ,角色表与资源表是多对多关系。
用户角色关系表(sys_user_user):用于维护用户和角色的关系
角色资源关系表(sys_access):用于维护角色与资源的关系
mysql脚本
DROP TABLE IF EXISTS sys_permission
;
CREATE TABLE sys_permission
(
id
bigint(20) NOT NULL AUTO_INCREMENT COMMENT ‘权限 ID’,
parent_id
bigint(20) DEFAULT NULL COMMENT ‘父权限 ID (0为顶级菜单)’,
name
varchar(64) NOT NULL COMMENT ‘权限名称’,
code
varchar(64) DEFAULT NULL COMMENT ‘授权标识符’,
url
varchar(255) DEFAULT NULL COMMENT ‘授权路径’,
type
int(2) NOT NULL DEFAULT ‘1’ COMMENT ‘类型(1菜单,2按钮)’,
icon
varchar(200) DEFAULT NULL COMMENT ‘图标’,
remark
varchar(200) DEFAULT NULL COMMENT ‘备注’,
create_date
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
**《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】** update_date
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id
)
) ENGINE=InnoDB AUTO_INCREMENT=33 DEFAULT CHARSET=utf8 COMMENT=‘权限表’;
DROP TABLE IF EXISTS sys_role
;
CREATE TABLE sys_role
(
id
bigint(20) NOT NULL AUTO_INCREMENT COMMENT ‘角色 ID’,
name
varchar(64) NOT NULL COMMENT ‘角色名称’,
remark
varchar(200) DEFAULT NULL COMMENT ‘角色说明’,
create_date
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_date
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id
)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COMMENT=‘角色表’;
DROP TABLE IF EXISTS sys_role_permission
;
CREATE TABLE sys_role_permission
(
id
bigint(20) NOT NULL AUTO_INCREMENT COMMENT ‘主键 ID’,
role_id
bigint(20) NOT NULL COMMENT ‘角色 ID’,
permission_id
bigint(20) NOT NULL COMMENT ‘权限 ID’,
PRIMARY KEY (id
)
) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8 COMMENT=‘角色权限表’;
DROP TABLE IF EXISTS sys_user
;
CREATE TABLE sys_user
(