warm-flow
认识表结构
#
数据表
名称
备注说明
1
flow_definition
流程定义表
2
flow_his_task
历史任务记录表
3
flow_instance
流程实例表
4
flow_node
流程节点表
5
flow_skip
节点跳转关联表
6
flow_task
待办任务表
7
flow_user
流程用户表
flow-definition
#
字段
名称
数据类型
主键
非空
默认值
备注说明
1
id
主键id
BIGINT UNSIGNED
√
√
2
flow_code
流程编码
VARCHAR(40)
√
3
flow_name
流程名称
VARCHAR(100)
√
4
category
流程类别
VARCHAR(100)
5
version
流程版本
VARCHAR(20)
√
6
is_publish
是否发布(0未发布 1已发布 9失效)
BIT(1)
√
0
7
form_custom
审批表单是否自定义(Y是 N否)
CHAR( ...
MySql-进阶
MySql体系结构
存储引擎存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也可被称为表类型。
从mysql5.5以后,默认的存储引擎是InnoDb
建表时指定使用的存储引擎
1234create table my_isam ( id int, name char(4)) engine = MyISAM;
InnoDBInnoDB是一种兼顾高可靠性和高性能的通用存储引擎,在 MySOL5.5之后,InnoDB是默认的 MySQL 存储引擎。
DML操作遵循ACID模型,支持事务
行级锁,提高并发访问性能
支持外键 FOREIGN KEY约束,保证数据的完整性和正确性,
InnoDB逻辑存储结构
MyISAMMyISAM是Mysql早期的默认存储引擎。
不支持事务, 不支持外键
支持表锁,不支持行锁
访问速度快
MemoryMemory引擎的表数据时存储在内存中的,由于受到硬件问题、或断电问题的影响,只能将这些表作为临时表或缓存使用。
数据存储内存中
hash索引
主要区别
存储引擎 ...
MySql 设置时区
Mysql设置时区
修改mysql配置
在mysql配置文件,[mysqld]中添加如下配置
1default-time-zone = '+08:00' # 东八区示例
重启mysql服务
1systemctl restart mysql
docker 环境执行:
1docker restart mysql
linux挂载硬盘
查看当前未挂载的硬盘
1fdisk -l
创建硬盘分区
1fdisk /dev/sdb
根据提示,依次输入”n”,”p””1”,两次回车,”wq”,分区就开始了,很快就会完成。
格式化硬盘
1mkfs.ext4 /dev/sdb
建立挂载目录
1mkdir /data
挂载硬盘
1mount /dev/sdb /data
mysql root用户 忘记密码如何重置密码?
停止mysql服务
1sudo systemctl stop mysql
如果是docker环境中可以直接stop容器
1docker stop mysql
编辑mysql配置文件,在mysqld配置片段中添加:
1skip-grant-tables
重新启动mysql服务
1sudo systemctl start mysql
docker环境:
1docker start mysql
无密码登录mysql
1mysql -u root
如果是docker环境先进入mysql容器内部
1docker exec -it mysql bash
设置新密码
12FLUSH PRIVILEGES;ALTER USER 'root'@'%' IDENTIFIED BY '新密码';
退出并重新启动mysql服务,并还原第二步添加的配置。
1systemctl restart mysql
docker环境执行如下命令:
1docker restart mysql
RabbitMq文档
安装rabbit mq可以参考
docker安装RabbitMq | 小云
从Hello World开始导入相关依赖1234<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId></dependency>
创建生产者
RabbitMq中的channel指的是什么?信道是生产消费者与rabbit通信的渠道,生产者publish或者消费者消费一个队列都是需要通过信道来通信的。信道是建立在TCP上面的虚拟链接,也就是RabbitMq在一个TCP上面建立成百上千的信道来达到多个线程处理。为什么RabbitMQ 需要信道,如果直接进行TCP通信呢?
TCP的创建开销很大,创建需要三次握手,销毁需要四次握手。如果不使用信道,那么引用程序就会使用TCP方式进行连接到RabbitMQ,因为MQ可能每秒会进行成千上万的链接。总之就是TCP消耗资源,TCP链接可以 ...
mysql-基础
SQLMysql Sql通用语法
SQL语句可以单行或多行书写,以分号结尾。
SQL语句可以使用空格/缩进来增强语句的可读性
MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。
注释:
单行注释: –注释内容 或 # 注释内容(MySQL特有)
多行注释: /*注释内容 */
Sql语句分类
DDLDDL主要用来操作数据库,表,字段。
DDL-数据库操作
查询
查询所有数据库
12345-- 查询所有数据库show databases;-- 查询当前数据库select database();
创建数据库
123CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集][COLLATE 排序规则];-- 创建案例create database if not exists db default char set 'utf8mb4' COLLATE 'utf8mb4_general_ci'
删除数据库
1drop database ...
GIT回退代码
GIT回退代码内容概要:介绍git restore; git reset; git revert 的用法以及常见场景下回退代码的方式。也会简单介绍一些git的基础知识。
正文:1、git restore
git restore file1: 针对暂存区的文件file1,将它回退到工作区,且撤销其修改。就是把你git add之后的文件变成add之前,同时你的修改会丢失
git restore --staged file1:针对暂存区的文件 file1,回退到工作区,但是保留修改。把你git add之后的文件变成add之前,但是你的修改会保留
备注:工作区:就是你本地的代码,未使用git add操作的文件所在位置。
暂存区:你使用git add添加之后的文件所在位置
2、git reset
git reset commitId --soft:回退当前代码仓库到指定提交commitId,当前HEAD和commitId之间的修改会保留,这些修改会在暂存区。就是保留了add的状态
git reset commitId --hard:回退当前代码仓库的代码到指定commitId,这之间的代码会 ...
docker安装RabbitMq
执行命令1234# 拉取docker镜像docker pull rabbitmq:management# 创建文件夹mkdir -p /home/rabbitmq
创建容器1docker run -id --name=rabbitmq -v /home/rabbitmq:/var/lib/rabbitmq -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin rabbitmq:management
查看启动日志,确保容器正常启动1docker logs -f rabbitmq
访问RabbitMQ管理页面在浏览器中访问 http://<你的服务器地址>:15672,使用之前设置的用户名和密码(admin 和 admin)登录,即可访问 RabbitMQ 的管理界面。
配置说明
15672端口:RabbitMQ 的管理页面端口。
5672端口:RabbitMQ 的消息接收端口。
RABBITMQ_DEFAULT_USER 环境变量:指定 Rab ...
Java日期API
JDK8之前的日期、时间Date代表日期和时间
代码案例12345678910111213141516171819public static void main(String[] args) { // 创建一个Date对象,代表当前时间 Date date = new Date(); System.out.println(date); // 获取当前时间的毫秒值 long time = date.getTime(); System.out.println(time); // 创建一个Date对象,指定该对象代表的时间 time += 3 * 1000; Date date2 = new Date(time); System.out.println(date2); // 通过setTime指定Date对象的时间 Date date3 = new Date(); date3.setTime(time); System.out.println(date3);}
代码运行的结果如下
...










