系统管理表
# 1. 部门表 (sys_dept
)
表作用:
sys_dept
表用于存储系统中所有部门的信息。每个部门都可以有一个父部门,从而形成一个层次结构。该表的典型用例是在系统中管理公司或组织的部门结构。
表结构和 SQL 语句:
-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_dept;
-- 创建部门表
create table sys_dept (
dept_id bigint(20) not null auto_increment comment '部门id', -- 部门唯一标识,自动递增
parent_id bigint(20) default 0 comment '父部门id', -- 上级部门的id,0表示无上级
ancestors varchar(50) default '' comment '祖级列表', -- 用于存储部门的上级链,如 "0,100,101"
dept_name varchar(30) default '' comment '部门名称', -- 部门的名称
order_num int(4) default 0 comment '显示顺序', -- 部门的显示顺序
leader varchar(20) default null comment '负责人', -- 部门负责人
phone varchar(11) default null comment '联系电话', -- 部门联系电话
email varchar(50) default null comment '邮箱', -- 部门联系邮箱
status char(1) default '0' comment '部门状态(0正常 1停用)', -- 部门状态,0表示正常,1表示停用
del_flag char(1) default '0' comment '删除标志(0代表存在 2代表删除)', -- 删除标志,0表示存在,2表示删除
create_by varchar(64) default '' comment '创建者', -- 记录表的创建者
create_time datetime comment '创建时间', -- 记录创建时间
update_by varchar(64) default '' comment '更新者', -- 记录最后更新者
update_time datetime comment '更新时间', -- 记录最后更新时间
primary key (dept_id) -- 设定 dept_id 为主键
) engine=innodb auto_increment=200 comment = '部门表'; -- 设定存储引擎为 InnoDB,且主键从 200 开始自增
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
表之间的关系:
- 部门表 (
sys_dept
) 与用户表 (sys_user
) 通过dept_id
关联。一个部门可以有多个用户。 - 部门表中的
parent_id
字段用于实现部门的上下级关系,形成一个层级结构。
# 2. 用户信息表 (sys_user
)
表作用:
sys_user
表用于存储系统中所有用户的信息。它包含用户的基本信息,如用户名、昵称、联系方式、以及所属部门等。
表结构和 SQL 语句:
-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_user;
-- 创建用户信息表
create table sys_user (
user_id bigint(20) not null auto_increment comment '用户ID', -- 用户唯一标识,自动递增
dept_id bigint(20) default null comment '部门ID', -- 关联的部门id
user_name varchar(30) not null comment '用户账号', -- 用户的登录账号
nick_name varchar(30) not null comment '用户昵称', -- 用户的昵称
user_type varchar(2) default '00' comment '用户类型(00系统用户)', -- 用户类型,00表示系统用户
email varchar(50) default '' comment '用户邮箱', -- 用户的电子邮箱
phonenumber varchar(11) default '' comment '手机号码', -- 用户的手机号码
sex char(1) default '0' comment '用户性别(0男 1女 2未知)', -- 用户性别
avatar varchar(100) default '' comment '头像地址', -- 用户的头像地址
password varchar(100) default '' comment '密码', -- 用户的登录密码
status char(1) default '0' comment '帐号状态(0正常 1停用)', -- 帐号状态,0表示正常,1表示停用
del_flag char(1) default '0' comment '删除标志(0代表存在 2代表删除)', -- 删除标志,0表示存在,2表示删除
login_ip varchar(128) default '' comment '最后登录IP', -- 最后登录的IP地址
login_date datetime comment '最后登录时间', -- 最后登录时间
create_by varchar(64) default '' comment '创建者', -- 记录表的创建者
create_time datetime comment '创建时间', -- 记录创建时间
update_by varchar(64) default '' comment '更新者', -- 记录最后更新者
update_time datetime comment '更新时间', -- 记录最后更新时间
remark varchar(500) default null comment '备注', -- 备注信息
primary key (user_id) -- 设定 user_id 为主键
) engine=innodb auto_increment=100 comment = '用户信息表'; -- 设定存储引擎为 InnoDB,且主键从 100 开始自增
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
表之间的关系:
- 用户信息表 (
sys_user
) 通过dept_id
关联到部门表 (sys_dept
),每个用户属于一个部门。 - 用户信息表中的
user_id
用于与其他表进行关联,如用户角色关联表 (sys_user_role
),用于表示一个用户可以具有多个角色。
# 3. 岗位信息表 (sys_post
)
表作用:
sys_post
表用于存储系统中所有岗位的信息。每个岗位对应一个工作职位,如经理、开发人员等。
表结构和 SQL 语句:
-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_post;
-- 创建岗位信息表
create table sys_post (
post_id bigint(20) not null auto_increment comment '岗位ID', -- 岗位唯一标识,自动递增
post_code varchar(64) not null comment '岗位编码', -- 岗位的编码,用于标识岗位
post_name varchar(50) not null comment '岗位名称', -- 岗位的名称
post_sort int(4) not null comment '显示顺序', -- 岗位的显示顺序
status char(1) not null comment '状态(0正常 1停用)', -- 岗位的状态,0表示正常,1表示停用
create_by varchar(64) default '' comment '创建者', -- 记录表的创建者
create_time datetime comment '创建时间', -- 记录创建时间
update_by varchar(64) default '' comment '更新者', -- 记录最后更新者
update_time datetime comment '更新时间', -- 记录最后更新时间
remark varchar(500) default null comment '备注', -- 备注信息
primary key (post_id) -- 设定 post_id 为主键
) engine=innodb comment = '岗位信息表'; -- 设定存储引擎为 InnoDB
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
表之间的关系:
- 岗位信息表 (
sys_post
) 与用户信息表 (sys_user_post
) 通过中间表 (sys_user_post
) 进行多对多关联,表示一个用户可以担任多个岗位,一个岗位也可以有多个用户。
# 4. 角色信息表 (sys_role
)
表作用:
sys_role
表用于存储系统中所有角色的信息。角色定义了用户的权限范围,如管理员、普通用户等。
表结构和 SQL 语句:
-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_role;
-- 创建角色信息表
create table sys_role (
role_id bigint(20) not null auto_increment comment '角色ID', -- 角色唯一标识,自动递增
role_name varchar(30) not null comment '角色名称', -- 角色的名称
role_key varchar(100) not null comment '角色权限字符串',
-- 角色权限字符串,如admin, user等
role_sort int(4) not null comment '显示顺序', -- 角色的显示顺序
data_scope char(1) default '1' comment '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)', -- 数据权限范围
menu_check_strictly tinyint(1) default 1 comment '菜单树选择项是否关联显示', -- 菜单树是否关联显示
dept_check_strictly tinyint(1) default 1 comment '部门树选择项是否关联显示', -- 部门树是否关联显示
status char(1) not null comment '角色状态(0正常 1停用)', -- 角色状态,0表示正常,1表示停用
del_flag char(1) default '0' comment '删除标志(0代表存在 2代表删除)', -- 删除标志,0表示存在,2表示删除
create_by varchar(64) default '' comment '创建者', -- 记录表的创建者
create_time datetime comment '创建时间', -- 记录创建时间
update_by varchar(64) default '' comment '更新者', -- 记录最后更新者
update_time datetime comment '更新时间', -- 记录最后更新时间
remark varchar(500) default null comment '备注', -- 备注信息
primary key (role_id) -- 设定 role_id 为主键
) engine=innodb auto_increment=100 comment = '角色信息表'; -- 设定存储引擎为 InnoDB,且主键从 100 开始自增
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
表之间的关系:
- 角色信息表 (
sys_role
) 与用户信息表 (sys_user
) 通过中间表 (sys_user_role
) 进行多对多关联,表示一个用户可以有多个角色,一个角色也可以分配给多个用户。 - 角色信息表 (
sys_role
) 与菜单权限表 (sys_menu
) 通过中间表 (sys_role_menu
) 进行多对多关联,表示一个角色可以拥有多个菜单权限。
# 5. 菜单权限表 (sys_menu
)
表作用:
sys_menu
表用于存储系统中的所有菜单信息。每个菜单对应一个功能页面或按钮,系统通过该表实现基于菜单的权限控制。
表结构和 SQL 语句:
-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_menu;
-- 创建菜单权限表
create table sys_menu (
menu_id bigint(20) not null auto_increment comment '菜单ID', -- 菜单唯一标识,自动递增
menu_name varchar(50) not null comment '菜单名称', -- 菜单的名称
parent_id bigint(20) default 0 comment '父菜单ID', -- 上级菜单的ID,0表示顶级菜单
order_num int(4) default 0 comment '显示顺序', -- 菜单的显示顺序
path varchar(200) default '' comment '路由地址', -- 前端路由地址
component varchar(255) default null comment '组件路径', -- 前端组件路径
query varchar(255) default null comment '路由参数', -- 路由参数
route_name varchar(50) default '' comment '路由名称', -- 路由名称
is_frame int(1) default 1 comment '是否为外链(0是 1否)', -- 是否是外部链接
is_cache int(1) default 0 comment '是否缓存(0缓存 1不缓存)', -- 是否缓存该菜单
menu_type char(1) default '' comment '菜单类型(M目录 C菜单 F按钮)', -- 菜单类型
visible char(1) default 0 comment '菜单状态(0显示 1隐藏)', -- 菜单状态,0表示显示,1表示隐藏
status char(1) default 0 comment '菜单状态(0正常 1停用)', -- 菜单状态,0表示正常,1表示停用
perms varchar(100) default null comment '权限标识', -- 权限标识字符串,用于控制权限
icon varchar(100) default '#' comment '菜单图标', -- 菜单图标
create_by varchar(64) default '' comment '创建者', -- 记录表的创建者
create_time datetime comment '创建时间', -- 记录创建时间
update_by varchar(64) default '' comment '更新者', -- 记录最后更新者
update_time datetime comment '更新时间', -- 记录最后更新时间
remark varchar(500) default '' comment '备注', -- 备注信息
primary key (menu_id) -- 设定 menu_id 为主键
) engine=innodb auto_increment=2000 comment = '菜单权限表'; -- 设定存储引擎为 InnoDB,且主键从 2000 开始自增
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
表之间的关系:
- 菜单权限表 (
sys_menu
) 与角色表 (sys_role
) 通过sys_role_menu
表关联,一个角色可以有多个菜单权限,一个菜单也可以分配给多个角色。 - 菜单表中的
parent_id
字段用于实现菜单的层级结构,支持子菜单和父菜单的关联。
# 6. 用户与角色关联表 (sys_user_role
)
表作用:
sys_user_role
表用于管理用户与角色之间的多对多关系。一个用户可以分配多个角色,一个角色也可以分配给多个用户。
表结构和 SQL 语句:
-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_user_role;
-- 创建用户与角色关联表
create table sys_user_role (
user_id bigint(20) not null comment '用户ID', -- 关联的用户ID
role_id bigint(20) not null comment '角色ID', -- 关联的角色ID
primary key(user_id, role_id) -- 复合主键,确保用户和角色关系的唯一性
) engine=innodb comment = '用户和角色关联表'; -- 设定存储引擎为 InnoDB
2
3
4
5
6
7
8
9
表之间的关系:
sys_user_role
表是用户表 (sys_user
) 和角色表 (sys_role
) 的关联表,实现用户与角色的多对多关系。- 在分配角色时,通过该表实现一个用户拥有多个角色,一个角色也可分配给多个用户。
# 7. 角色与菜单关联表 (sys_role_menu
)
表作用:
sys_role_menu
表用于管理角色与菜单之间的多对多关系。一个角色可以访问多个菜单,一个菜单也可以被多个角色访问。
表结构和 SQL 语句:
-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_role_menu;
-- 创建角色与菜单关联表
create table sys_role_menu (
role_id bigint(20) not null comment '角色ID', -- 关联的角色ID
menu_id bigint(20) not null comment '菜单ID', -- 关联的菜单ID
primary key(role_id, menu_id) -- 复合主键,确保角色和菜单关系的唯一性
) engine=innodb comment = '角色和菜单关联表'; -- 设定存储引擎为 InnoDB
2
3
4
5
6
7
8
9
表之间的关系:
sys_role_menu
表是角色表 (sys_role
) 和菜单表 (sys_menu
) 的关联表,实现角色与菜单的多对多关系。- 在分配权限时,通过该表实现一个角色可以拥有多个菜单权限,一个菜单也可以被多个角色访问。
# 8. 角色与部门关联表 (sys_role_dept
)
表作用:
sys_role_dept
表用于管理角色与部门之间的多对多关系。一个角色可以对应多个部门权限,一个部门也可以由多个角色管理。
表结构和 SQL 语句:
-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_role_dept;
-- 创建角色与部门关联表
create table sys_role_dept (
role_id bigint(20) not null comment '角色ID', -- 关联的角色ID
dept_id bigint(20) not null comment '部门ID', -- 关联的部门ID
primary key(role_id, dept_id) -- 复合主键,确保角色和部门关系的唯一性
) engine=innodb comment = '角色和部门关联表'; -- 设定存储引擎为 InnoDB
2
3
4
5
6
7
8
9
表之间的关系:
sys_role_dept
表是角色表 (sys_role
) 和部门表 (sys_dept
) 的关联表,实现角色与部门的多对多关系。- 通过该表可以配置一个角色对多个部门的数据权限管理,一个部门也可以由多个角色进行管理。
# 9. 用户与岗位关联表 (sys_user_post
)
表作用:
sys_user_post
表用于管理用户与岗位之间的多对多关系。一个用户可以担任多个岗位,一个岗位也可以由多个用户担任。
表结构和 SQL 语句:
-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_user_post;
-- 创建用户与岗位关联表
create table sys_user_post (
user_id bigint(20) not null comment '用户ID', -- 关联的用户ID
post_id bigint(20) not null comment '岗位ID', -- 关联的岗位ID
primary key (user_id, post_id) -- 复合主键,确保用户和岗位关系的唯一性
) engine=innodb comment = '用户与岗位关联表'; -- 设定存储引擎为 InnoDB
2
3
4
5
6
7
8
9
表之间的关系:
sys_user_post
表是用户表 (sys_user
) 和岗位表 (sys_post
) 的关联表,实现用户与岗位的多对多关系。- 通过该表,用户可以担任多个岗位,岗位也可以被多个用户担任。
# 10. 操作日志记录表 (sys_oper_log
)
表作用:
sys_oper_log
表用于记录系统中所有用户的操作日志,包含操作内容、操作时间、操作结果等信息。通常用于审计和监控用户操作。
表结构和 SQL 语句:
-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_oper_log;
-- 创建操作日志记录表
create table sys_oper_log (
oper_id bigint(20) not null auto_increment comment '日志主键', -- 日志的唯一标识,自动递增
title varchar(50) default '' comment '模块标题', -- 操作的模块标题,如“用户管理”
business_type int(2) default 0 comment '业务类型(0其它 1新增 2修改 3删除)', -- 操作的业务类型,0表示其他
method varchar(200) default '' comment '方法名称', -- 操作调用的方法名称
request_method varchar(10) default '' comment '请求方式', -- 请求方式,如GET、POST
operator_type int(1) default 0 comment '操作类别(0其它 1后台用户 2手机端用户)', -- 操作者类型
oper_name varchar(50) default '' comment '操作人员', -- 操作者的名称
dept_name varchar(50) default '' comment '部门名称', -- 操作者所属部门
oper_url varchar(255) default '' comment '请求URL', -- 操作的请求URL
oper_ip varchar(128) default '' comment '主机地址', -- 操作者的IP地址
oper_location varchar(255) default '' comment '操作地点', -- 操作的地点
oper_param varchar(2000) default '' comment '请求参数', -- 操作时的请求参数
json_result varchar(2000) default '' comment '返回参数', -- 操作的返回结果
status int(1) default 0 comment '操作状态(0正常 1异常)', -- 操作状态
error_msg varchar(2000) default '' comment '错误消息', -- 操作错误信息
oper_time datetime comment '操作时间', -- 操作发生的时间
cost_time bigint(20) default 0 comment '消耗时间', -- 操作消耗的时间(毫秒)
primary key (oper_id), -- 设定 oper_id 为主键
key idx_sys_oper_log_bt (business_type), -- 为业务类型添加索引
key idx_sys_oper_log_s (status), -- 为状态添加索引
key idx_sys_oper_log_ot (oper_time) -- 为操作时间添加索引
) engine=innodb auto_increment=100 comment = '操作日志记录'; -- 设定存储引擎为 InnoDB,且主键从 100 开始自增
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
表之间的关系:
- 该表与其他业务表无直接关系,但用于记录用户在系统中进行的所有操作,方便管理员进行监控和审计。
# 11. 字典类型表 (sys_dict_type
)
表作用:
sys_dict_type
表用于存储系统中的所有字典类型信息。字典类型用于定义系统中各种类型的字典数据,如用户性别、菜单状态等。
表结构和 SQL 语句:
-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_dict_type;
-- 创建字典类型表
create table sys_dict_type (
dict_id bigint(20) not null auto_increment comment '字典主键', -- 字典类型的唯一标识,自动递增
dict_name varchar(100) default '' comment '字典名称', -- 字典类型的名称,如“用户性别”
dict_type varchar(100) default '' comment '字典类型', -- 字典类型标识,如“sys_user_sex”
status char(1) default '0' comment '状态(0正常 1停用)', -- 字典类型状态
create_by varchar(64) default '' comment '创建者', -- 记录表的创建者
create_time datetime comment '创建时间', -- 记录创建时间
update_by varchar(64) default '' comment '更新者', -- 记录最后更新者
update_time datetime comment '更新时间', -- 记录最后更新时间
remark varchar(500) default null comment '备注', -- 备注信息
primary key (dict_id), -- 设定 dict_id 为主键
unique (dict_type) -- 字典类型字段设置为唯一索引,确保不重复
) engine=innodb auto_increment=100 comment = '字典类型表'; -- 设定存储引擎为 InnoDB,且主键从 100 开始自增
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
表之间的关系:
- 字典类型表 (
sys_dict_type
) 与字典数据表 (sys_dict_data
) 通过dict_type
字段进行关联。一个字典类型可以有多个字典数据。
# 12. 字典数据表 (sys_dict_data
)
表作用:
sys_dict_data
表用于存储系统中的具体字典数据。每个字典数据条目属于一个字典类型,并用于提供系统中各种常量值的选择。
表结构和 SQL 语句:
-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_dict_data;
-- 创建字典数据表
create table sys_dict_data (
dict_code bigint(20) not null auto_increment comment '字典编码', -- 字典数据的唯一标识,自动递增
dict_sort int(4) default 0 comment '字典排序', -- 字典数据的排序序号
dict_label varchar(100) default '' comment '字典标签', -- 字典数据的标签,如“男”
dict_value varchar(100) default '' comment '字典键值', -- 字典数据的键值,如“0”
dict_type varchar(100) default '' comment '字典类型', -- 字典类型标识,关联到字典类型表
css_class varchar(100) default null comment '样式属性(其他样式扩展)', -- 样式属性
list_class varchar(100) default null comment '表格回显样式', -- 表格回显样式
is_default char(1) default 'N' comment '是否默认(Y是 N否)', -- 是否为默认项
status char(1) default '0' comment '状态(0正常 1停用)', -- 字典数据状态
create_by varchar(64) default '' comment '创建者', -- 记录表的创建者
create_time datetime comment '创建时间', -- 记录创建时间
update_by varchar(64) default '' comment '更新者', -- 记录最后更新者
update_time datetime comment '更新时间', -- 记录最后更新时间
remark varchar(500) default null comment '备注', -- 备注信息
primary key (dict_code) -- 设定 dict_code 为主键
) engine=innodb auto_increment=100 comment = '字典数据表'; -- 设定存储引擎为 InnoDB,且主键
从 100 开始自增
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
表之间的关系:
- 字典数据表 (
sys_dict_data
) 通过dict_type
字段关联到字典类型表 (sys_dict_type
),从而表示某种类型下的具体字典数据。
# 13. 参数配置表 (sys_config
)
表作用:
sys_config
表用于存储系统的各种参数配置,如系统主题、初始密码、验证码开关等。管理员可以通过该表配置系统的全局参数。
表结构和 SQL 语句:
-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_config;
-- 创建参数配置表
create table sys_config (
config_id int(5) not null auto_increment comment '参数主键', -- 配置项的唯一标识,自动递增
config_name varchar(100) default '' comment '参数名称', -- 参数名称,如“主框架页-默认皮肤样式名称”
config_key varchar(100) default '' comment '参数键名', -- 参数键名,如“sys.index.skinName”
config_value varchar(500) default '' comment '参数键值', -- 参数键值,如“skin-blue”
config_type char(1) default 'N' comment '系统内置(Y是 N否)', -- 是否系统内置参数,Y是,N否
create_by varchar(64) default '' comment '创建者', -- 记录表的创建者
create_time datetime comment '创建时间', -- 记录创建时间
update_by varchar(64) default '' comment '更新者', -- 记录最后更新者
update_time datetime comment '更新时间', -- 记录最后更新时间
remark varchar(500) default null comment '备注', -- 备注信息
primary key (config_id) -- 设定 config_id 为主键
) engine=innodb auto_increment=100 comment = '参数配置表'; -- 设定存储引擎为 InnoDB,且主键从 100 开始自增
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
表之间的关系:
sys_config
表独立于其他表,主要用于管理系统配置项,不与其他业务表直接关联。
# 14. 系统访问记录表 (sys_logininfor
)
表作用:
sys_logininfor
表用于记录用户登录系统的详细信息,包括登录IP、登录地点、登录时间、浏览器信息等。该表可用于安全审计与登录行为分析。
表结构和 SQL 语句:
-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_logininfor;
-- 创建系统访问记录表
create table sys_logininfor (
info_id bigint(20) not null auto_increment comment '访问ID', -- 访问记录的唯一标识,自动递增
user_name varchar(50) default '' comment '用户账号', -- 用户的登录账号
ipaddr varchar(128) default '' comment '登录IP地址', -- 用户登录的IP地址
login_location varchar(255) default '' comment '登录地点', -- 用户登录的地理位置
browser varchar(50) default '' comment '浏览器类型', -- 用户使用的浏览器类型
os varchar(50) default '' comment '操作系统', -- 用户使用的操作系统
status char(1) default '0' comment '登录状态(0成功 1失败)', -- 登录状态,0表示成功,1表示失败
msg varchar(255) default '' comment '提示消息', -- 登录时的提示消息
login_time datetime comment '访问时间', -- 用户登录的时间
primary key (info_id), -- 设定 info_id 为主键
key idx_sys_logininfor_s (status), -- 为状态添加索引
key idx_sys_logininfor_lt (login_time) -- 为登录时间添加索引
) engine=innodb auto_increment=100 comment = '系统访问记录'; -- 设定存储引擎为 InnoDB,且主键从 100 开始自增
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
表之间的关系:
sys_logininfor
表独立于其他表,主要用于记录用户的登录行为,适合用于审计和追踪用户登录历史。
# 15. 定时任务调度表 (sys_job
)
表作用:
sys_job
表用于存储系统中所有定时任务的配置信息,如任务名称、任务分组、执行周期、状态等。该表用于管理和调度系统中的定时任务。
表结构和 SQL 语句:
-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_job;
-- 创建定时任务调度表
create table sys_job (
job_id bigint(20) not null auto_increment comment '任务ID', -- 任务的唯一标识,自动递增
job_name varchar(64) default '' comment '任务名称', -- 定时任务的名称
job_group varchar(64) default 'DEFAULT' comment '任务组名', -- 定时任务的分组名称
invoke_target varchar(500) not null comment '调用目标字符串', -- 调用目标的方法名或字符串
cron_expression varchar(255) default '' comment 'cron执行表达式', -- cron 表达式,定义任务执行时间
misfire_policy varchar(20) default '3' comment '计划执行错误策略(1立即执行 2执行一次 3放弃执行)', -- 执行错误策略
concurrent char(1) default '1' comment '是否并发执行(0允许 1禁止)', -- 是否允许并发执行
status char(1) default '0' comment '状态(0正常 1暂停)', -- 任务的状态,0表示正常,1表示暂停
create_by varchar(64) default '' comment '创建者', -- 记录表的创建者
create_time datetime comment '创建时间', -- 记录创建时间
update_by varchar(64) default '' comment '更新者', -- 记录最后更新者
update_time datetime comment '更新时间', -- 记录最后更新时间
remark varchar(500) default '' comment '备注信息', -- 备注信息
primary key (job_id, job_name, job_group) -- 复合主键,确保任务唯一性
) engine=innodb auto_increment=100 comment = '定时任务调度表'; -- 设定存储引擎为 InnoDB,且主键从 100 开始自增
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
表之间的关系:
sys_job
表独立管理系统中的定时任务配置,不直接与其他表关联。用于实现系统内定时任务的创建、管理和调度。
# 16. 定时任务调度日志表 (sys_job_log
)
表作用:
sys_job_log
表用于记录系统中定时任务的执行日志,包含任务名称、执行状态、执行时间、错误信息等。该表用于监控定时任务的执行情况。
表结构和 SQL 语句:
-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_job_log;
-- 创建定时任务调度日志表
create table sys_job_log (
job_log_id bigint(20) not null auto_increment comment '任务日志ID', -- 任务日志的唯一标识,自动递增
job_name varchar(64) not null comment '任务名称', -- 任务名称
job_group varchar(64) not null comment '任务组名', -- 任务分组名称
invoke_target varchar(500) not null comment '调用目标字符串', -- 调用目标的方法名或字符串
job_message varchar(500) comment '日志信息', -- 任务执行的日志信息
status char(1) default '0' comment '执行状态(0正常 1失败)', -- 任务执行状态,0表示正常,1表示失败
exception_info varchar(2000) default '' comment '异常信息', -- 任务执行的异常信息
create_time datetime comment '创建时间', -- 任务日志的创建时间
primary key (job_log_id) -- 设定 job_log_id 为主键
) engine=innodb comment = '定时任务调度日志表'; -- 设定存储引擎为 InnoDB
2
3
4
5
6
7
8
9
10
11
12
13
14
15
表之间的关系:
sys_job_log
表主要用于记录sys_job
表中的任务执行情况,独立于其他业务表,专门用于记录定时任务的执行日志。
# 17. 通知公告表 (sys_notice
)
表作用:
sys_notice
表用于存储
系统中的通知公告信息,如系统维护公告、新功能发布通知等。该表用于在系统中发布和管理公告内容。
表结构和 SQL 语句:
-- 如果表已存在则删除,确保创建的是最新表
drop table if exists sys_notice;
-- 创建通知公告表
create table sys_notice (
notice_id int(4) not null auto_increment comment '公告ID', -- 公告的唯一标识,自动递增
notice_title varchar(50) not null comment '公告标题', -- 公告的标题
notice_type char(1) not null comment '公告类型(1通知 2公告)', -- 公告类型,1表示通知,2表示公告
notice_content longblob default null comment '公告内容', -- 公告的具体内容
status char(1) default '0' comment '公告状态(0正常 1关闭)', -- 公告状态,0表示正常,1表示关闭
create_by varchar(64) default '' comment '创建者', -- 记录表的创建者
create_time datetime comment '创建时间', -- 记录创建时间
update_by varchar(64) default '' comment '更新者', -- 记录最后更新者
update_time datetime comment '更新时间', -- 记录最后更新时间
remark varchar(255) default null comment '备注', -- 备注信息
primary key (notice_id) -- 设定 notice_id 为主键
) engine=innodb auto_increment=10 comment = '通知公告表'; -- 设定存储引擎为 InnoDB,且主键从 10 开始自增
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
表之间的关系:
sys_notice
表独立于其他表,主要用于管理系统的通知公告内容。
# 18. 代码生成业务表 (gen_table
)
表作用:
gen_table
表用于存储系统中代码生成器的业务表信息,包含生成的表名称、表描述、模板类型、生成路径等。该表用于管理代码生成器的元数据。
表结构和 SQL 语句:
-- 如果表已存在则删除,确保创建的是最新表
drop table if exists gen_table;
-- 创建代码生成业务表
create table gen_table (
table_id bigint(20) not null auto_increment comment '编号', -- 表的唯一标识,自动递增
table_name varchar(200) default '' comment '表名称', -- 生成代码的表名称
table_comment varchar(500) default '' comment '表描述', -- 生成代码的表描述
sub_table_name varchar(64) default null comment '关联子表的表名', -- 关联的子表名称
sub_table_fk_name varchar(64) default null comment '子表关联的外键名', -- 子表的外键名称
class_name varchar(100) default '' comment '实体类名称', -- 生成代码的实体类名称
tpl_category varchar(200) default 'crud' comment '使用的模板(crud单表操作 tree树表操作)', -- 使用的模板类型
tpl_web_type varchar(30) default '' comment '前端模板类型(element-ui模版 element-plus模版)', -- 前端模板类型
package_name varchar(100) comment '生成包路径', -- 生成代码的包路径
module_name varchar(30) comment '生成模块名', -- 生成代码的模块名
business_name varchar(30) comment '生成业务名', -- 生成代码的业务名
function_name varchar(50) comment '生成功能名', -- 生成代码的功能名
function_author varchar(50) comment '生成功能作者', -- 生成代码的作者
gen_type char(1) default '0' comment '生成代码方式(0zip压缩包 1自定义路径)', -- 生成代码的方式
gen_path varchar(200) default '/' comment '生成路径(不填默认项目路径)', -- 生成代码的路径
options varchar(1000) comment '其它生成选项', -- 其他生成选项
create_by varchar(64) default '' comment '创建者', -- 记录表的创建者
create_time datetime comment '创建时间', -- 记录创建时间
update_by varchar(64) default '' comment '更新者', -- 记录最后更新者
update_time datetime comment '更新时间', -- 记录最后更新时间
remark varchar(500) default null comment '备注', -- 备注信息
primary key (table_id) -- 设定 table_id 为主键
) engine=innodb auto_increment=1 comment = '代码生成业务表'; -- 设定存储引擎为 InnoDB,且主键从 1 开始自增
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
表之间的关系:
gen_table
表独立管理代码生成的元数据信息,不直接与其他业务表关联,主要用于代码生成器的表结构管理。
# 19. 代码生成业务表字段 (gen_table_column
)
表作用:
gen_table_column
表用于存储代码生成器中各个业务表的字段信息,包含字段名称、字段描述、数据类型、是否主键等。该表用于详细管理生成代码的字段结构。
表结构和 SQL 语句:
-- 如果表已存在则删除,确保创建的是最新表
drop table if exists gen_table_column;
-- 创建代码生成业务表字段表
create table gen_table_column (
column_id bigint(20) not null auto_increment comment '编号', -- 字段的唯一标识,自动递增
table_id bigint(20) comment '归属表编号', -- 归属的表ID,关联到 gen_table 表
column_name varchar(200) comment '列名称', -- 字段名称,如 user_id
column_comment varchar(500) comment '列描述', -- 字段描述,如“用户ID”
column_type varchar(100) comment '列类型', -- 字段类型,如 bigint(20)
java_type varchar(500) comment 'JAVA类型', -- 对应的 Java 类型,如 Long
java_field varchar(200) comment 'JAVA字段名', -- 对应的 Java 字段名称
is_pk char(1) comment '是否主键(1是)', -- 是否为主键,1表示是
is_increment char(1) comment '是否自增(1是)', -- 是否自增,1表示是
is_required char(1) comment '是否必填(1是)', -- 是否必填字段,1表示是
is_insert char(1) comment '是否为插入字段(1是)', -- 是否作为插入字段,1表示是
is_edit char(1) comment '是否编辑字段(1是)', -- 是否允许编辑字段,1表示是
is_list char(1) comment '是否列表字段(1是)', -- 是否作为列表显示字段,1表示是
is_query char(1) comment '是否查询字段(1是)', -- 是否作为查询条件字段,1表示是
query_type varchar(200) default 'EQ' comment '查询方式(等于、不等于、大于、小于、范围)', -- 查询方式
html_type varchar(200) comment '显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)', -- 前端显示类型
dict_type varchar(200) default '' comment '字典类型', -- 字典类型,关联到字典表
sort int comment '排序', -- 字段的排序顺序
create_by varchar(64) default '' comment '创建者', -- 记录表的创建者
create_time datetime comment '创建时间', -- 记录创建时间
update_by varchar(64) default '' comment '更新者', -- 记录最后更新者
update_time datetime comment '更新时间', -- 记录最后更新时间
primary key (column_id) -- 设定 column_id 为主键
) engine=innodb auto_increment=1 comment = '代码生成业务表字段'; -- 设定存储引擎为 InnoDB,且主键从 1 开始自增
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
表之间的关系:
gen_table_column
表与gen_table
表通过table_id
字段关联,详细管理每个业务表的字段信息。