事务事务会把所有操作作为一个整体一起向系统提交或撤销操作星球 这些操作要么同时成功要么同时失败
事务操作查看 设置事务
SELECT @@autocommit;
SET @@AUTOCOMMIT=0 设置为手动提交
提交事务COMMIT
回滚事务 ROLLBACK
开启事务 start transction或 begin
事务正常运行 提交事务 commit
事务中途失败 回滚事务 rollback
事务四大特性
原子性 事务是不可分割的最小单元 要么全部成功 要么全部失败
一致性 事务完成时 必须使所有数据都保持一致
隔离性 数据库提供隔离机制 保证事务在不收外部并发操作影响的独立环境
持久性 事务一旦提交或回滚 数据库中数据改变持久性
并发事务问题赃读 一个事务读取到另一个事务还没有提交的数据 (隔离解决方法:A事务并不会读取到)
不可重复读 一个事务先后读取同一条记录 但两次读取的数据不同 (隔离解决方法:A事务读取到的数据相同 并没有受到改变)
幻读 一个事务按照条件查询数据时 没有对应的数据行 但是在插入数据时 又发现了这条数据的存在(隔 ...
git基础学习Git有什么作用?
Git是一个免费的、开源的分布式版本控制系统,用于追踪代码的改动,记录每个文件的修改历史,包括修改内容、作者、时间等,并允许开发者在不同的开发线(分支)上进行并行开发。它最主要的优势在于,所有的这些数据都是本地存储的,使得开发者即使在没有网络连接的情况下也能进行工作
配置gitgit config --global user.name "Acting" //配置用户名git config --global user.email 2864094036@qq.com //配置邮箱git config --global credential.help store //无需密码登录git config --global --list //查看配置信息
global 全局配置 所有仓库生效
system 系统配置 对所有用户生效
创建仓库方式一 在本地创建仓库 git init
方式二 在远程服务器克隆一个已经存在的仓库 git clone
git add 添加到暂存区
git commit 提交
git log查看提交信息 –onel ...
微服务
单体架构
将所有功能几中在一个项目中开发 打包成一个包部署
架构简单 部署成本低
团队协作成本高
系统发布效率低 大型项目编译需要几十分钟 耗时长
系统可用性差
适合开发功能简单 规模较小的项目
微服务
把单体架构中的功能模块拆分成多个独立的项目
粒度小
团队自治
服务自治 每个服务对应 一个web服务器 一个数据库
SpringCloud集成了各种微服务功能组件 并基于SpringBoot实现了组件的自动装配 从而提供了良好的开箱即用体验
拆分目标 高内聚 每个微服务的职责尽量单一 包含业务相互关联度高 完整度高 低耦合 每个微服务功能相对独立 尽量减少对其他微服务的依赖
工程结构:
独立project
maven聚合 一个project下好几个module
远程调用
@RequiredArgsContructor 声明 final 的bean 能够自动注入 取消使用@Autowired注解使用
服务治理服务提供者 暴露服务接口 供其他服务调用
服务消费者 调用其他服务提供的接口
注册中心 记录并监控微服务各实例状态 推送服务变更信息 ...
协议UDP协议面向无连接协议 速度夸 有大小限制一次最多64k 数据不安全 易丢失数据
在线视频 网络通话
发送数据
创建发送端的DatagramSocket对象
参数传递 端口号
数据打包
DatagramPackage
发送资源
释放资源
接收数据
创建接收端的DatagramSocket对象
一定要绑定端口
接收打包好的数据
程序在此是阻塞的一直等待直到接收到数据
receive 创建接收包 传递数组
解析数据包
释放资源
通信方式单播
组播 对象创建 MulticastSocket 接收端 划定组播地址 发送端 确定组播地址
广播 255.255.255.255
TCP协议面向连接通信协议 速度慢 没有大小限制 数据安全
下载软件 文字聊天 发送邮件
两端个建立socket对象 通过io流来产生通信
中文乱码问题
字节流转化成字符流
三次握手 保证建立连接
四次挥手 确保连接断开 且数据处理完毕
MyBatisPlus配置poml文件
导入plus坐标
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.1</version> </dependency>
导入druid坐标
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.16</version> </dependency>
配置属性文件 后缀改yml
spring: datasource ...
SpringMVC表现层框架技术 用于表现层开发
Postman网页调试与发送网页HTTP请求的CHrome插件
常用于进行接口测试
Apifox集Postman Swagger Mock JMeter于一体
请求映射路径在类上面定义请求路径前缀 @RequestMapping("/user")
请求参数
普通参数
POJO参数 请求参数名与形参对象属性名相同 定义POJO类型形参即可接收
POJO嵌套 POJO对象包含POJO对象
数组参数 同样的变量名
集合参数 @RequestParam
接受请求中的json数据
配置坐标
设置发送json数据 Body-raw-json
开启自动转换数据的支持 @EnableWebMvc
设置接收json数据 @RequestBody
@RequestBody 与 @RequestParam区别
param用于接受url地址 表单传参 application/x-www-form-urlencoded
body用于接收json数据 application/json
应用 ...
MySQL基础篇学习基础
访问数据库
属性 c 常规 包含目录 server include
链接器 常规 附加库目录 server lib
输入 依赖库 libmysql/lib
命令行操作数据库
mysql -u root -p
要先net start mysql80启动数据库服务器
MYSQL数据类型
tinyint 小整数值
smallint 大整数数值
float 单精度浮点数值
double 双精度浮点数值
char 定长字符串
varchar 变长字符串
tinytext 短文本字符串
data 日期值 YYYY-MM-DD
time 时间值或持续时间值 HH:MM:SS
year 年份值 YYYY
DDL 数据定义语言数据库操作
查询所有数据库 SHOW DATABASES;
查看当前数据库 SELECT DATABASE();
创建数据库 CREATE DATABASE [IF EXISTIS]数据库名 [DEFAULT CHARSET 字符集] ;
删除数据库 DROP DATABASE[IF EXISTS] 数据库名; ...





