管理控制台权限控制

本文讨论一种常见的访问控制方法:

[En]

This article discusses a common way of access control:

管理控制台权限控制

数据授权:

角色 + 接口 + 表实体 + 字段 + 判断类别+数据列表
role1 + api1 + tbl1 + id + in + (1,2,3)
role1 + api1 + tbl1 + age + < + 35

权限控制中:数据授权可以采用切面的方式,在dao层操作时候,将数据授权(例如:xx in (1,2,3) )的sql拼接到目标业务sql上。

管理控制台权限控制
set foreign_key_checks = 0;
CREATE TABLE tbl_common_group (
id int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
code varchar(100) NOT NULL COMMENT '唯一编码',
create_time datetime(3) NOT NULL COMMENT '创建时间',
last_update_time datetime(3) NULL COMMENT '最后更新时间',
name varchar(255) NOT NULL COMMENT '名称',
detail varchar(255) NULL COMMENT '详情',
status int(10) UNSIGNED NOT NULL DEFAULT 2 COMMENT '状态:0-无效,1-有效,2-编辑',
group_type varchar(100) NOT NULL COMMENT '组类型',
PRIMARY KEY (id) ,
CONSTRAINT fk_tbl_sapo_group_tbl_sapo_group_type_1 FOREIGN KEY (group_type) REFERENCES tbl_common_group_type (code),
UNIQUE INDEX uni_idx_group_code (code ASC) USING BTREE
)
COMMENT = '组';

CREATE TABLE tbl_common_group_rel (
id int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
create_time datetime(3) NOT NULL COMMENT '创建时间',
last_update_time datetime(3) NULL COMMENT '最后更新时间',
parent_code varchar(100) NOT NULL COMMENT '父节点代码,tbl_common_group表code',
child_code varchar(100) NOT NULL COMMENT '子节点代码,tbl_common_group表code',
status int(10) UNSIGNED NOT NULL DEFAULT 2 COMMENT '状态:0-无效,1-有效,2-编辑',
group_rel_type varchar(100) NOT NULL COMMENT '组关系类型代码,来自tbl_common_group_rel_type表code',
tree_code varchar(100) NOT NULL COMMENT '树节点代码,tbl_common_tree表code',
PRIMARY KEY (id) ,
CONSTRAINT fk_tbl_sapo_group_rel_parent_code FOREIGN KEY (parent_code) REFERENCES tbl_common_group (code),
CONSTRAINT fk_tbl_sapo_group_rel_child_code FOREIGN KEY (child_code) REFERENCES tbl_common_group (code),
CONSTRAINT fk_tbl_sapo_group_rel_tbl_sapo_group_rel_type_1 FOREIGN KEY (group_rel_type) REFERENCES tbl_common_group_rel_type (code),
CONSTRAINT fk_tbl_sapo_group_rel_tbl_sapo_tree_1 FOREIGN KEY (tree_code) REFERENCES tbl_common_tree (code)
)
COMMENT = '组关系';

CREATE TABLE tbl_common_group_type (
id int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
code varchar(100) NOT NULL COMMENT '唯一编码',
create_time datetime(3) NOT NULL COMMENT '创建时间',
last_update_time datetime(3) NULL COMMENT '最后更新时间',
name varchar(255) NOT NULL COMMENT '名称',
detail varchar(255) NULL COMMENT '详情',
status int(10) UNSIGNED NOT NULL DEFAULT 2 COMMENT '状态:0-无效,1-有效,2-编辑',
PRIMARY KEY (id) ,
UNIQUE INDEX uni_idx_group_code (code ASC) USING BTREE
)
COMMENT = '组类型';

CREATE TABLE tbl_common_group_rel_type (
id int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
code varchar(100) NOT NULL COMMENT '唯一编码',
create_time datetime(3) NOT NULL COMMENT '创建时间',
last_update_time datetime(3) NULL COMMENT '最后更新时间',
name varchar(255) NOT NULL COMMENT '名称',
detail varchar(255) NULL COMMENT '详情',
status int(10) UNSIGNED NOT NULL DEFAULT 2 COMMENT '状态:0-无效,1-有效,2-编辑',
PRIMARY KEY (id) ,
UNIQUE INDEX uni_idx_group_code (code ASC) USING BTREE
)
COMMENT = '组关系类型';

CREATE TABLE tbl_common_tree (
id int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
code varchar(100) NOT NULL COMMENT '唯一编码',
create_time datetime(3) NOT NULL COMMENT '创建时间',
last_update_time datetime(3) NULL COMMENT '最后更新时间',
name varchar(255) NOT NULL COMMENT '名称',
detail varchar(255) NULL COMMENT '详情',
status int(10) UNSIGNED NOT NULL DEFAULT 2 COMMENT '状态:0-无效,1-有效,2-编辑',
PRIMARY KEY (id) ,
UNIQUE INDEX uni_idx_group_code (code ASC) USING BTREE
)
COMMENT = '树定义';

CREATE TABLE tbl_commom_tree_group (
id int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
create_time datetime(3) NOT NULL COMMENT '创建时间',
last_update_time datetime(3) NULL COMMENT '最后更新时间',
group_code varchar(100) NOT NULL COMMENT '组代码,tbl_common_group表code',
tree_code varchar(100) NOT NULL COMMENT '树代码,tbl_common_tree表code',
status int(10) UNSIGNED NOT NULL DEFAULT 2 COMMENT '状态:0-无效,1-有效,2-编辑',
is_root int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否根节点:1-根节点,0-非根节点',
PRIMARY KEY (id) ,
CONSTRAINT fk_tbl_sapo_tree_group_tbl_sapo_tree_1 FOREIGN KEY (tree_code) REFERENCES tbl_common_tree (code),
CONSTRAINT fk_tbl_sapo_tree_group_tbl_sapo_group_1 FOREIGN KEY (group_code) REFERENCES tbl_common_group (code)
)
COMMENT = '树包含的组';

CREATE TABLE tbl_admin_role (
id int(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
code varchar(100) NOT NULL COMMENT '唯一编码',
create_time datetime(3) NOT NULL COMMENT '创建时间',
last_update_time datetime(3) NULL COMMENT '最后更新时间',
name varchar(255) NOT NULL COMMENT '名称',
detail varchar(1024) NULL COMMENT '详情',
status int(10) UNSIGNED NOT NULL DEFAULT 2 COMMENT '状态:0-无效,1-有效,2-编辑',
type_code varchar(100) NULL COMMENT '类型code,tbl_admin_role_type表code',
PRIMARY KEY (id) ,
CONSTRAINT fk_tbl_admin_role_tbl_admin_role_type_1 FOREIGN KEY (type_code) REFERENCES tbl_admin_role_type (code),
UNIQUE INDEX uni_idx_group_code (code ASC) USING BTREE
);

CREATE TABLE tbl_admin_resource (
id int(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
code varchar(100) NOT NULL COMMENT '唯一编码',
create_time datetime(3) NOT NULL COMMENT '创建时间',
last_update_time datetime(3) NULL COMMENT '最后更新时间',
name varchar(255) NOT NULL COMMENT '名称',
detail varchar(1024) NULL COMMENT '详情',
status int(10) UNSIGNED NOT NULL DEFAULT 2 COMMENT '状态:0-无效,1-有效,2-编辑',
type_code varchar(100) NOT NULL COMMENT '资源类型code,tbl_admin_resource_type表code',
content varchar(1024) NULL COMMENT '内容',
PRIMARY KEY (id) ,
CONSTRAINT fk_tbl_admin_resource_tbl_admin_resource_type_1 FOREIGN KEY (type_code) REFERENCES tbl_admin_resource_type (code),
UNIQUE INDEX uni_idx_group_code (code ASC) USING BTREE
);

CREATE TABLE tbl_admin_api (
id int(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
code varchar(100) NOT NULL COMMENT '唯一编码',
create_time datetime(3) NOT NULL COMMENT '创建时间',
last_update_time datetime(3) NULL COMMENT '最后更新时间',
name varchar(255) NOT NULL COMMENT '名称',
detail varchar(1024) NULL COMMENT '详情',
status int(10) UNSIGNED NOT NULL DEFAULT 2 COMMENT '状态:0-无效,1-有效,2-编辑',
api_path varchar(1024) NULL COMMENT 'api路径',
type_code varchar(100) NULL COMMENT '接口类型,tbl_admin_api_type的code',
PRIMARY KEY (id) ,
CONSTRAINT fk_tbl_admin_api_tbl_admin_api_type_1 FOREIGN KEY (type_code) REFERENCES tbl_admin_api_type (code),
UNIQUE INDEX uni_idx_group_code (code ASC) USING BTREE
);

CREATE TABLE tbl_admin_table (
id int(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
tbl_name varchar(100) NOT NULL COMMENT '表名',
create_time datetime(3) NOT NULL COMMENT '创建时间',
last_update_time datetime(3) NULL COMMENT '最后更新时间',
name varchar(255) NOT NULL COMMENT '名称',
detail varchar(1024) NULL COMMENT '详情',
status int(10) UNSIGNED NOT NULL DEFAULT 2 COMMENT '状态:0-无效,1-有效,2-编辑',
PRIMARY KEY (id) ,
UNIQUE INDEX uni_idx_group_code (tbl_name ASC) USING BTREE
)
COMMENT = '表';

CREATE TABLE tbl_admin_data_auth (
id int(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
create_time datetime(3) NOT NULL COMMENT '创建时间',
last_update_time datetime(3) NULL COMMENT '最后更新时间',
name varchar(255) NOT NULL COMMENT '名称',
detail varchar(1024) NULL COMMENT '详情',
status int(10) UNSIGNED NOT NULL DEFAULT 2 COMMENT '状态:0-无效,1-有效,2-编辑',
role_code varchar(100) NULL COMMENT '角色表示,tbl_admin_role表code',
api_code varchar(100) NULL COMMENT 'api接口表示,tbl_admin_api表code',
tbl_name varchar(100) NULL COMMENT '表名,来自tbl_admin_table表tbl_name',
col_name varchar(255) NULL COMMENT '字段名,来自tbl_admin_table_column表col_name',
auth_type int(10) NULL COMMENT '授权类型:1-in ,2-大于,3-小于',
PRIMARY KEY (id) ,
CONSTRAINT fk_tbl_admin_data_auth_tbl_admin_table_1 FOREIGN KEY (tbl_name) REFERENCES tbl_admin_table (tbl_name),
CONSTRAINT fk_tbl_admin_data_auth_tbl_admin_api_1 FOREIGN KEY (api_code) REFERENCES tbl_admin_api (code),
CONSTRAINT fk_tbl_admin_data_auth_tbl_admin_role_1 FOREIGN KEY (role_code) REFERENCES tbl_admin_role (code),
CONSTRAINT fk_tbl_admin_data_auth_tbl_admin_table_column_1 FOREIGN KEY (col_name) REFERENCES tbl_admin_table_column (col_name)
);

CREATE TABLE tbl_admin_data (
id int(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
code varchar(100) NOT NULL COMMENT '唯一编码',
create_time datetime(3) NOT NULL COMMENT '创建时间',
last_update_time datetime(3) NULL COMMENT '最后更新时间',
name varchar(255) NOT NULL COMMENT '名称',
detail varchar(1024) NULL COMMENT '详情',
status int(10) UNSIGNED NOT NULL DEFAULT 2 COMMENT '状态:0-无效,1-有效,2-编辑',
content varchar(1024) NULL COMMENT '内容',
data_auth_id int(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '数据授权id,tbl_admin_data_auth表id',
PRIMARY KEY (id) ,
CONSTRAINT fk_tbl__copy_1_tbl_admin_data_auth_1 FOREIGN KEY (data_auth_id) REFERENCES tbl_admin_data_auth (id),
UNIQUE INDEX uni_idx_group_code (code ASC) USING BTREE
);

CREATE TABLE tbl_admin_table_column (
id int(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
col_name varchar(100) NOT NULL COMMENT '字段名',
tbl_name varchar(100) NULL COMMENT '表名,tbl_admin_table表tbl_name',
create_time datetime(3) NOT NULL COMMENT '创建时间',
last_update_time datetime(3) NULL COMMENT '最后更新时间',
name varchar(255) NOT NULL COMMENT '名称',
detail varchar(1024) NULL COMMENT '详情',
status int(10) UNSIGNED NOT NULL DEFAULT 2 COMMENT '状态:0-无效,1-有效,2-编辑',
PRIMARY KEY (id) ,
CONSTRAINT fk_tbl_admin_table_column_tbl_admin_table_1 FOREIGN KEY (tbl_name) REFERENCES tbl_admin_table (tbl_name),
UNIQUE INDEX uni_idx_group_code (tbl_name ASC, col_name ASC) USING BTREE
)
COMMENT = '表中字段';

CREATE TABLE tbl_admin_group_api (
id int(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
create_time datetime(3) NOT NULL COMMENT '创建时间',
last_update_time datetime(3) NULL COMMENT '最后更新时间',
status int(10) UNSIGNED NOT NULL DEFAULT 2 COMMENT '状态:0-无效,1-有效,2-编辑',
group_code varchar(100) NOT NULL COMMENT '组代码,tbl_common_group表code',
api_code varchar(100) NOT NULL COMMENT 'api代码,tbl_admin_api表code',
PRIMARY KEY (id) ,
CONSTRAINT fk_tbl_admin_group_api_tbl_common_group_1 FOREIGN KEY (group_code) REFERENCES tbl_common_group (code),
CONSTRAINT fk_tbl_admin_group_api_tbl_admin_api_1 FOREIGN KEY (api_code) REFERENCES tbl_admin_api (code)
);

CREATE TABLE tbl_admin_group_resource (
id int(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
create_time datetime(3) NOT NULL COMMENT '创建时间',
last_update_time datetime(3) NULL COMMENT '最后更新时间',
status int(10) UNSIGNED NOT NULL DEFAULT 2 COMMENT '状态:0-无效,1-有效,2-编辑',
group_code varchar(100) NOT NULL COMMENT '组代码,tbl_common_group表code',
resource_code varchar(100) NOT NULL COMMENT 'api代码,tbl_admin_resource表code',
PRIMARY KEY (id) ,
CONSTRAINT fk_tbl_admin_group_resource_tbl_common_group_1 FOREIGN KEY (group_code) REFERENCES tbl_common_group (code),
CONSTRAINT fk_tbl_admin_group_resource_tbl_admin_resource_1 FOREIGN KEY (resource_code) REFERENCES tbl_admin_resource (code)
);

CREATE TABLE tbl_admin_resource_type (
id int(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
code varchar(100) NOT NULL COMMENT '唯一编码',
create_time datetime(3) NOT NULL COMMENT '创建时间',
last_update_time datetime(3) NULL COMMENT '最后更新时间',
name varchar(255) NOT NULL COMMENT '名称',
detail varchar(1024) NULL COMMENT '详情',
status int(10) UNSIGNED NOT NULL DEFAULT 2 COMMENT '状态:0-无效,1-有效,2-编辑',
PRIMARY KEY (id) ,
UNIQUE INDEX uni_idx_group_code (code ASC) USING BTREE
);

CREATE TABLE tbl_admin_api_type (
id int(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
code varchar(100) NOT NULL COMMENT '唯一编码',
create_time datetime(3) NOT NULL COMMENT '创建时间',
last_update_time datetime(3) NULL COMMENT '最后更新时间',
name varchar(255) NOT NULL COMMENT '名称',
detail varchar(1024) NULL COMMENT '详情',
status int(10) UNSIGNED NOT NULL DEFAULT 2 COMMENT '状态:0-无效,1-有效,2-编辑',
PRIMARY KEY (id) ,
UNIQUE INDEX uni_idx_group_code (code ASC) USING BTREE
);

CREATE TABLE tbl_admin_group_role (
id int(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
create_time datetime(3) NOT NULL COMMENT '创建时间',
last_update_time datetime(3) NULL COMMENT '最后更新时间',
status int(10) UNSIGNED NOT NULL DEFAULT 2 COMMENT '状态:0-无效,1-有效,2-编辑',
group_code varchar(100) NOT NULL COMMENT '组代码,tbl_common_group表code',
role_code varchar(100) NOT NULL COMMENT 'api代码,tbl_admin_role表code',
PRIMARY KEY (id) ,
CONSTRAINT fk_tbl_admin_group_role_tbl_common_group_1 FOREIGN KEY (group_code) REFERENCES tbl_common_group (code),
CONSTRAINT fk_tbl_admin_group_role_tbl_admin_role_1 FOREIGN KEY (role_code) REFERENCES tbl_admin_role (code)
);

CREATE TABLE tbl_admin_role_type (
id int(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
code varchar(100) NOT NULL COMMENT '唯一编码',
create_time datetime(3) NOT NULL COMMENT '创建时间',
last_update_time datetime(3) NULL COMMENT '最后更新时间',
name varchar(255) NOT NULL COMMENT '名称',
detail varchar(1024) NULL COMMENT '详情',
status int(10) UNSIGNED NOT NULL DEFAULT 2 COMMENT '状态:0-无效,1-有效,2-编辑',
PRIMARY KEY (id) ,
UNIQUE INDEX uni_idx_group_code (code ASC) USING BTREE
);

CREATE TABLE tbl_admin_role_group_auth (
id int(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
create_time datetime(3) NOT NULL COMMENT '创建时间',
last_update_time datetime(3) NULL COMMENT '最后更新时间',
status int(10) UNSIGNED NOT NULL DEFAULT 2 COMMENT '状态:0-无效,1-有效,2-编辑',
group_code varchar(100) NOT NULL COMMENT '组代码,tbl_common_group表code',
role_code varchar(100) NOT NULL COMMENT 'api代码,tbl_admin_role表code',
PRIMARY KEY (id) ,
CONSTRAINT fk_tbl_admin_group_role_auth_tbl_common_group_1 FOREIGN KEY (group_code) REFERENCES tbl_common_group (code),
CONSTRAINT fk_tbl_admin_group_role_auth_tbl_admin_role_1 FOREIGN KEY (role_code) REFERENCES tbl_admin_role (code)
);

CREATE TABLE tbl_admin_role_api_auth (
id int(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
create_time datetime(3) NOT NULL COMMENT '创建时间',
last_update_time datetime(3) NULL COMMENT '最后更新时间',
status int(10) UNSIGNED NOT NULL DEFAULT 2 COMMENT '状态:0-无效,1-有效,2-编辑',
api_code varchar(100) NOT NULL COMMENT '组代码,tbl_admin_api表code',
role_code varchar(100) NOT NULL COMMENT 'api代码,tbl_admin_role表code',
PRIMARY KEY (id) ,
CONSTRAINT fk_tbl_admin_role_api_auth_tbl_admin_role_1 FOREIGN KEY (role_code) REFERENCES tbl_admin_role (code),
CONSTRAINT fk_tbl_admin_role_api_auth_tbl_admin_api_1 FOREIGN KEY (api_code) REFERENCES tbl_admin_api (code)
);

CREATE TABLE tbl_admin_role_resource_auth (
id int(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
create_time datetime(3) NOT NULL COMMENT '创建时间',
last_update_time datetime(3) NULL COMMENT '最后更新时间',
status int(10) UNSIGNED NOT NULL DEFAULT 2 COMMENT '状态:0-无效,1-有效,2-编辑',
resource_code varchar(100) NOT NULL COMMENT '组代码,tbl_admin_resource表code',
role_code varchar(100) NOT NULL COMMENT 'api代码,tbl_admin_role表code',
PRIMARY KEY (id) ,
CONSTRAINT fk_tbl_admin_role_resource_auth_tbl_admin_role_1 FOREIGN KEY (role_code) REFERENCES tbl_admin_role (code),
CONSTRAINT fk_tbl_admin_role_resource_auth_tbl_admin_resource_1 FOREIGN KEY (resource_code) REFERENCES tbl_admin_resource (code)
);

建表语句

人和账号的关系分两种:

方式一:账户被重用,人员可以来回更换(如离职),即修改账户的所有权。

[En]

Mode 1: the account is reused, and the person can replace it back and forth (for example, leaving), which is to modify the ownership of the account.

模式二:人员角色被授权,可以有多个账号(微信、邮箱等)。便于实施邀请登记模式。

[En]

Mode 2: the role of the person is authorized, and the person can have multiple accounts (Wechat, mailbox, etc.). It is convenient to implement the invitation registration mode.

模式二:

管理控制台权限控制

模式二可以方便的实现邀请注册模式。

1.邀请某用户即新建【账户】,然后向该用户邮箱发送一个注册链接。

将分配给该用户的角色和其他参数,随链接一并发送,例如:角色、有效期、账号、sign(HMAC方式,主要起验证作用)。

例如:www.test.com?roleId=[1,2,3]&expireTime=20220509&mail=wanglifeng@163.com&sign=a8e2389ae

2.用户通过点击链接,注册和维护个人信息及密码,完成注册。

3.后端收到注册请求,通过sign参数验证参数合法性,根据参数为该【账号】创建【用户】,为该【用户】添加角色。

本文来自博客园,作者:wanglifeng,转载请注明原文链接:https://www.cnblogs.com/wanglifeng717/p/16200942.html

Original: https://www.cnblogs.com/wanglifeng717/p/16200942.html
Author: 王李峰
Title: 管理控制台权限控制

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/505448/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 第二十章 AOP开发中的坑

    问题 //在同一个业务类中,一个业务方法调用另一个业务方法 //问题: login方法添加有额外功能 // register方法没有添加额外功能 public class User…

    数据库 2023年6月14日
    075
  • 老板:把系统从单体架构升级到集群架构!

    首发于公众号:BiggerBoy 如题,本文针对工作中实际经验,整理了把一个单体架构的系统升级成集群架构需要做的准备工作,以及为集群架构的升级做指导方针。 本文首先分析了单体架构存…

    数据库 2023年6月11日
    076
  • MySQL-过滤数据(WHERE语句)

    1、使用WHERE子句 在SELECT语句中,数据根据WHERE子句中指定的搜索条件进行过滤。WHERE子句在表名( FROM子句)之后给出,如下所示: 这条语句从products…

    数据库 2023年6月16日
    0130
  • 【Java代码之美】 — Java11新特性解读

    1.背景 美国时间 09 月 25 日,Oralce 正式发布了 Java 11,这是据 Java 8 以后支持的首个长期版本。非常值得大家的关注,可以通过下面的地址进行下载: h…

    数据库 2023年6月6日
    0107
  • java~ForkJoinPool分而致之处理大数据

    ForkJoinPool的思想,是将大的集合进行拆分,计算处理之后,再把结果合并,这体现了多核时代的并行计算能力。 集合拆分成元素 List<integer> maps…

    数据库 2023年6月6日
    063
  • 翻译 | Kubernetes 将改变数据库的管理方式

    作者:Álvaro Hernández 当技术决策人考虑在 Kubernetes 上部署数据库时,面临的第一个问题就是:” Kubernetes 有应对有状态服务的能力…

    数据库 2023年5月24日
    0130
  • 线程池使用InheritableThreadLocal出现数据脏乱分析和解决方案

    背景 在测试环境上遇到一个诡异的问题,某些业务场景需要记录操作日志,有段时间发现记录的数据会被覆盖,例如当前用户的操作记录会被其他用户覆盖;这个现象是每次重启服务后一小段时间内就正…

    数据库 2023年6月6日
    0111
  • MySQL MHA 运行状态监控

    一 项目描述 1.1 背景 MHA(Master HA)是一款开源的 MySQL 的高可用程序,它为 MySQL 主从复制架构提供了 automating master failo…

    数据库 2023年6月16日
    0116
  • java读取文本文件的方法

    文本文件是我们日常开发中,常用的简单存储载体,那么如何读取文本文件呢? 下文笔者将通过示例的方式讲述读取文本文件的方法分享,如下所示: 文本文件是最常用的文件格式之一, 下文是笔者…

    数据库 2023年6月11日
    0115
  • MySQL数据库的创建、删除和备份

    总结MySQL数据库的创建、删除和备份操作 MySQL数据库的创建、删除和备份 数据库的创建 //使用指令创建数据库 CREATE DATABASE yjh_db01; //创建一…

    数据库 2023年6月16日
    092
  • Java-课堂笔记

    用Typora重新排版了下, 发现还有挺多问题, 手动排版好像也不识别. 太麻烦就这样了, 课堂笔记只是证明自己没有上课摸鱼, 这里的笔记是当初疫情上网课写的. 以后会按照路线重新…

    数据库 2023年6月11日
    088
  • 1_requests基础用法

    requests 模块的基本使用 什么是requests 模块? Python 中封装好的一个基于网络请求的模块 requests 模块的作用? 用来模拟浏览器发请求 reques…

    数据库 2023年6月11日
    082
  • 编译型语言和解释型语言

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    数据库 2023年6月6日
    0129
  • Git

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    数据库 2023年6月16日
    096
  • CMD命令 压缩包与图片完美融合,隐藏文件必备撒

    CMD命令 压缩包与图片完美融合,隐藏文件必备撒 在Windows端,将图片和压缩包完美融合,先将 源文件展示 压缩方案1 copy /b D:\project\IE11完整离线安…

    数据库 2023年6月9日
    0159
  • MySQL索引使用方式以及段、区、页概念

    B+树索引的正确使用 索引并不是越多越好,索引创建越多,MySQL维护的代价越高,如果SQL未能完全使用到索引,创建索引的意义是不大的。 适用条件 表x,创建索引a,b,c。主键y…

    数据库 2023年5月24日
    080
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球