自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 seata-AT 事物实现事物回滚 TCC事物(有侵入的事物方案)

一、1.order,count,storage 都需要设置下面这些配置2. 如果这里面没有可以compile一下(MAVEN配置)3. 都添加注解@Transactional4. 打开这两行5.测试结果 二、TCC事物有侵入的事物方案。80%业务场景都可以使用AT事物,在一些复杂情况下(自定义数据库函数,自定义数据存储过程),无法使用AT事物自动控制事务执行。TCC--两个阶段的三个事务操作 Try --- 预留资...

2021-11-26 17:25:11 659 1

原创 Seata AT 事物方案

一、事务协调器下面各个分模块告诉事务协调器成功与失败,来执行是否回滚。当update语句执行时,底层会自动执行查询,修改完之后,会再次查询。新旧数据合并起来,插入到一个日志表(新数据+旧数据)第二阶段:控制全局事务最终提交TM 报告 事物协调器 ,事务协调器 下发RM 。RM 自行回滚回滚从事物的日志表,恢复到之前的数据,从日志回复完成后,删除日志表(AT事物执行,不需要再回复)。流程启动TC(事务协调器):Seata Server 1.课前资料/分布式...

2021-11-25 18:45:29 444

原创 分布式事务 Seata AT 模式-Spring Cloud微服务案例(二)

一、1.创建storage子工程2.修改pom.xml文件3.修改bootstrap.yml,application.yml文件spring: application: name: storage datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost/seata_storage?useUnicode=true&characterEn.

2021-11-25 15:29:29 876

原创 分布式事务

TC事务协调器阿里工具state业务案例数据库初始化工具1.新建Spring模块:db-init2.添加依赖: spring jdbc --ScriptUtils mysql driver3.yml配置数据库连接spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost/?...

2021-11-24 18:49:40 653

原创 Sleuth+Zipkin 链路跟踪

Sleuth产生链路跟踪日志A->B->CA,I6524SACSCAS,I6524SACSCAS(整条链路Id),true(是否要发送到zipkin处理,默认只有10%)B,HAVBSCVS98CC,KBB5154814SA修改2,3,4,6,模块,添加sleuth依赖sleuth是0配置,他有自动配置类链路日志发送到zipkin日志发送到zipkin两种方式1.直接连接,向zipkin提交日志(通过地址)2.通过消息服务转发日志(通过rabb.

2021-11-23 11:35:19 1397

原创 BUS组件实现配置刷新

消息总线动态配置刷新,通过配置中心向MQ服务发送一个刷新指令,其他配置中心客户端接收指令,执行配置刷新。1.修改添加依赖(2.3.4.9) bus rabbit binder-rabbit <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> ...

2021-11-22 17:31:24 1558

原创 rabbbitmq缓存 发布订阅模式 路由模式 ,主题模式

一、交换机设计(生产者)2.交换机(消费者)

2021-11-22 10:29:52 1135

转载 spring boot和SSM开发中有什么区别?

回答:spring boot是什么?有什么作用?什么场景下使用? SSM是什么?有什么作用?什么场景下使用? 两个相比较,各自的优缺点 什么是Spring Boot? 从本质上来说,Spring Boot就是Spring,它做了那些没有它你也会去做的Spring Bean配置。 SpringBoot的作用? 它使用“习惯优于配置”(项目中存在大量的配置,此外还内置了一个习惯性的配置,让...

2021-11-20 16:18:14 717

转载 Spring Cloud - Nacos与Eureka区别及如何选型

Spring Cloud - Nacos与Eureka区别及如何选型 掉发的小王 2021-09-28 09:04:51 ...

2021-11-19 19:55:05 198

原创 Rabbitmq消息队列,消息服务器,消息中间件

消息中间件Borker Rabbitmq Activemq Rocketmq(阿里) Kafka Tubemq(腾讯)一、Rabbitmq1.搭建虚拟机VMware版本:16.xNAT网络的网段使用:192.168.64.0编辑--虚拟网络编辑器--连接vmnet8--左下角修改 192.168.64.0二、课前资料/ 虚拟机centos-7-1908/ce...

2021-11-19 17:34:49 1527

原创 config配置中心

一、配置文件1.config 配置名字新建一个config文件夹item-service-dev.ymlitem-service-dev.ymlitem-service-dev.yml2.默认不覆盖,在yml文件里添加3.创建本地git仓库已经创建过得仓库的同学不要重复创建1.vcs -- create git repository(double shift 搜索 create git repository)2.选择springcloud1 工程目录,作...

2021-11-18 18:28:19 1441

原创 Day08 前后端项目实现

Axios-get/deleteGet:利用对象的方式进行数据封装 Axios.get(url,{params:封装的对象})Axios-get-restful模板字符串:语法es7的写法,一对反引号进行数据拼接,通过${}获取变量,这里是为了动态获取Let url =`http://localhost:8090/axios/user/${name}/${sex}`post 请求中的参数axios.post(url,user),post请求传递的对象是一个json串,不能直接user对象..

2021-10-05 19:21:12 59

原创 Day07 前后端调用 springmvc参数传递总结,restful 数据结构, vue.js 综合案例(生命周期函数),AXios,

一、展现sql日志在yml文件里 ,添加logging:level:com.jt.mapper:debug 对象接收数据:如果用户传递的数据有多个,则可以使用对象接收 对象的引用赋值如果前端出现了同名提交的参数问题,影响后台数据接收,前端要求不能出现重名属性,如果重现重名属性。解决方案:利用对象的引用赋值,封装对象,引用对象。restful业务说明Restful语法:用户url编辑参数与参数之间使用“/”分割 Restful结构顺序一旦确定,不能随意更改 如果使用restful..

2021-10-05 19:20:39 144

原创 Day06 mybatis补充知识,spring整合mybatis,基于springboot ,了解框架的运行机制,ssm调用流程顺序, vue.js页面Ajax调用

mybatis补充知识参数取值说明形参/实参 形参就是一个名称,参数传递的是值 ResultMap的简化,当开启驼峰映射规则时,可以自动映射,则使用resultType即可 如果mybatis传递的参数只有一个,则mybatis是利用下标取值,所以名称任意 #{xxxx},但是一般需要注意开发规范代理对象说明:jdk动态代理特点:要求被代理者必须实现有接口Jdk代理是jdk默认提供的CGLIB动态代理特点:不管被代理者是否有接口,都可以为其创建代理对象,代...

2021-10-05 19:19:34 97

原创 Day05 关联关系,mybatis中的缓存机制,spring boot 整合mybatis ,前后端调用

关联关系一对一案例完成一对一映射,一个员工对应一个部门,选取方向:员工方 需要在员工中,完成部门对象的封装如果需要封装单个对象,则使用association标签,property代表封装对象的属性,javaType指定属性的类型。关联查询和子查询说明关联查询:通过大量的sql语句,实现数据关联查询,其中sql语句相对复杂,但是数据封装简单 子查询:其中sql几乎都是单表查询,sql简单,但是数据封装复杂。 编辑xml映射文件:子查询说明:column=“子查询的字段信息” Slect..

2021-10-05 19:19:01 97

原创 Day04 优化mybatis设置 简化sql标签 动态sql 关联关系

mybatis优化设置简化别名包在核心配置文件xml中,在<typeAliases><package name=”包路径的信息”/></typeAliases>2.别名的注解定义 @Alias<”别名”>3.简化sql语句<sql id="sql_findAll_demo">select id,name,age,sex from demo_user</sql&...

2021-10-05 19:18:26 83

原创 Day03 简化mybatis,mybatis中参数的封装,#号和$符的用法,mybatis中转义和集合的用法

简化mybatis操作@beforeEach注解,给注解的作用 是在执行@Test方法前调用,是测试方法提供的测试API 向上提取sqlsessionFactory,把sqlsessionfactory作为成员变量mybatis中参数的封装封装的策略:封装为实体对象,user对象Map集合如果传递的数据有多个,则可以使用注解@param(“sex”) string sex 封装为map如果参数有多个,可以封装为map实现参数的传递,也可以利用#{key}获取数...

2021-10-05 19:17:35 95

原创 Day02 环境分割 ,Spring boot高级用法,mybatis

环境分割编译yml配置文件指定环境的默认配置Spring:Profiles:Active:dev为环境定义名称Serve:Port: 8090Spring:Config:Active:on-profile:dev------------------------------ 用“-----”分割Serve:Port: 9000Spring:Config:Active:On...

2021-10-05 19:16:07 110

原创 Day 01 IDEA配置 ,Spring boot环境调试

IDEA环境配置控制字体大小 自动提示设置 方法的自动提示 字符集设置 自动编译maven配置配置 私服镜像:这里用到的网址是国内网站阿里云的。 配置本地仓库。就是在自己电脑上安装一个存放jar包的地址IDEA安装lombok数据库:库表,字段,对应的值实体对象pojo:用来封装数据库里面的数据实体对象方法:get/set/to string/无参构造/有参构造/equals/hashcodeLombok作用:自动生成上述的方法springboot环境调试关于pom..

2021-10-05 19:15:22 202

原创 DAY18 spring AOC Ajax vue路由

Spring Aop概述:是面向切面的编程,扩展了面向对象的不足 切面 Aspect :其实就是一个类,要用@Aspect注解通知advice:就是类里的方法,分为前置通知, 后置通知,环绕通知,返回后通知,异常通知。使用步骤先加入jar包。Spring-boot-start-aop 创建切面切面表达式:通过excution属性声明@poincut(“excution(* cn.tedu.controller.*.*(..)) ”)创建一个方法:Public vo...

2021-09-19 23:06:57 72

原创 DAY17 Spring Ioc DI

一、Ioc控制翻转,是指把创建对象的权利交给springIoc创建class , id方式创建配置文件,配置类的信息 在resources里创建spring-config.xml Spring 认为万物皆是bean,配置bean的位置,spring自动完成ioc,class属性用描述类的全路径,id属性用来作为bean的唯一标识loc配置包扫描的方式(1)在resources里配置 spring-config.xml文件,在bean里面读取配置文件:包扫描。(2)扫描指定包以及子包..

2021-09-19 23:05:20 48

原创 Day 16 spring mvc spring框架

Spring mvc 框架解析请求参数一、get方式1.get方式把数据用?拼接在地址栏中,多数据之间用&连接Spring MVC可以接受请求,并解析请求参数,只要在方法的参数列表中声明2.为了避免400或者500的异常,最好把参数列表的参数类型改成引用类型参数列表可以提供一个对象,框架可以解析参数,并且可以把参数直接给对象的属性赋值 参数列表的写法:参数类型必须和请求参数类型一致 参数名称必须和请求的参数名称一致框架的作用:(1)解析了请求参数(2)把解析到的参数调..

2021-09-19 23:04:05 116

原创 Day14 /15 Maven Sping boot Sping mvc

Day14 /15 Maven Sping boot Sping mvcMaven1.概述:Maven 是管理jar包,下载,保存,编译,更新maven的三个仓库远程仓库:本质就是国外的一个网址 镜像仓库:国内的一些网址。已经帮你下载好了jar包 本地仓库:就是一个你自己创建的文件夹。存放下载好的jar包当添加数据库的jar包时,数据库的版本和jar包的版本一样依赖:jar包可能会依赖着很多jar包,maven都会管理所有jar包4.使用步骤(1)解压maven...

2021-09-19 23:02:57 55

原创 三、day 13 vue项目的使用

概述:Src文件夹:写自己的业务 Src/components文件夹:定义组件 Src/router文件夹:定义路由 Src/App.vue文件:注册组件 Src/main.js:入口js文件 Index.Html:作为项目的主页自定义组件首先在template标签里,写html代码 在script标签里写js代码 Export default{Name:”car”,Data(){Return{返回的内容}}修改APP.VUE文件(注册组件)在script导入...

2021-09-12 08:34:03 49

原创 day 12 vue

1.概述:是一个轻量级,渐进式的前端框架,特点:数据驱动MVVM组件化好处:封装了DOM操作元素的APIMvvmm是model,用来封装数据的模型层 v是view,用来展示数据 VM是vue对象,把m和v连接起来vue指令:概述:就是在 HTML的标签上,加上一些V-的指令v-model:实现数据驱动,双向绑定V-if:用来判断,满足判断条件展示,不满足判断条件不展示v-show:用来判断,满足判断条件展示,不满足判断条件不展示区别:v-if直接是不满足就不

2021-09-12 08:32:44 46

原创 day 10/11 JavaScript

1.概念Js是基于对象和事件驱动的一种脚本语言,是一种弱类型的语言,也是一种直译式的语言,增强了用户和浏览器之间的交互性。使用位置行内js:只能作用于一行 内部js:通常在head标签里,使用scrip标签,把js 代码包起来。 外部js:松耦合 ,单独创建一个js的文件,可以被引入到各种网页中语法注释://单行注释/*多行注释*/(2)包括:number/string/boolean/null/undefined数值类型-number在JS中,数值...

2021-09-12 08:31:51 62

原创 Day08 选择器 盒子模型 javaScript

简单选择器(标签名选择器,类选择器,ID选择器)标签名选择器:按照标签的名字,选中元素h1{}类选择器:按照class属性的值,选中元素,先给元素加class属性+通过 . 获取class的值 Id选择器:按照id属性的值(唯一)选中元素,先给元素加id属性+通过#获取id的值分组选择器选中一批元素,分成一组,统一设置样式属性选择器:通过标签的属性选中元素Input[type=’text’]{}A[href]{}盒子模型CSS把网页里的每个元素,都当做一个盒子来看外边距..

2021-09-04 17:33:39 88

原创 Day07 CSS

表单标签提交数据想要把数据提交给java后台程序,必须设置name属性 Get方式提交数据 ,在地址栏,安全性低,长度受限Post 方式提交数据,不在地址栏,安全性高长度不受限制form两个属性method属性用来设置数据的提交方式,默认方式是get。 Action 属性用来指定数据提交给哪个程序去处理。CSS全称是层叠样式表,stylesheet,用来修饰html CSS语法:元素的选择器{修饰的具体样式} CSS语法:元素的选择器{属性名:属性值} CSS使用的位置:...

2021-09-04 17:33:07 38

原创 Day06 HTML

概念HTML:超文本的标记语言,用来完成一个静态网页,结构有大量的标签组成,都是成对出现的, 标签:分为开始标签和结束标签form标签用来把页面填写的数据提交给后台的java程序 Table标签用来向网页中添加表格。 <tr> 标签用来表示表格里的一行 <td>标签用来表示行里的列元素 Input 标签用来实现输入框(textPassword,email,radio,checkbox)Select标签用来定义一个下拉框,option标签用来定义选项 Text..

2021-09-04 17:31:13 94

原创 Day05 视图 JDBC

概念:可视化的表,视图当做是一个特殊的表,把sql执行的结果,直接缓存到视图当中,下次发起相同sql,直接查视图。 优点:提高了sql的复用率。 缺点:占用内存,无法被优化sql的执行顺序:from table :选择表 On:连接条件 Join:连接表 Where:条件过滤 Group by :分组 AGG_FUNC:聚合 Having:分组过滤 Distinct :选择字段,去重 Order by:排序 Limit:分页sql优化查询sql尽量不要使用select *,..

2021-09-04 17:30:10 329

原创 Day04 索引 表关联

一、索引优点:提高了查询的效率。缺点:索引本身也是一张表,不适合去大量的添加。不是处处设置索引。实现过程:设置索引 使用索引分类:单值索引,唯一索引,复合索引单值索引:一个索引包含一列,创建单值索引(给常用来作为查询条件的字段添加)语法:create index 索引名 on表名(加字段)使用索引:加explain,找到possible_keys的值。创建唯一索引(索引的值不能重复)Create unique index 索引名 on ...

2021-09-04 17:28:55 195

原创 Day03 聚合函数

一、指把一列的值聚合在一起,再做分析。聚合列和非聚合列在一块会报错 当有聚合列和非聚合列在一块的时候,必须非聚合列分组(group by) Where里不能出现聚合函数max()查最大值 Min()查最小值 Avg()查平均数 Sum()查总和 Count(1)统计个数 这种方式高效事物 transaction概念:用来保证多个操作,要么完全执行,要么完全不执行(2)四个特性(A C I D )原子性:多个操作,是绑定到一起的,要么完全成功,要么完全不成功。一致性:在

2021-08-29 22:00:28 57

原创 Day 02数据类型

命名规则;字段名必须以字母开头,尽量不要使用拼音 长度不能超过 30个字符(不同数据库,不同版本会有不同) 不能使用SQL的保留字,如:where , order, group 只能使用如下字符az、AZ、0~9、$ 等 Orcale 习惯全大写,mysql 习惯全小写 多个单词用下划线隔开,而非java语言的驼峰规则2.字符:Char 和varchar 都是字符串Char 长度是固定的,不足使用空间用空格填充,坏处:浪费了资源好处:如果一个数据长度是固定的,最好使用char,查询

2021-08-29 21:59:40 129

原创 第二阶段 day01

数据库什么是数据库 :存储数据,管理数据的仓库。 分类:关系型数据库(Oracle,MySQL,SQLServe,Access),非关系型数据库(MongoDB,ReDis、Solr,、ElasticSearch、Hive、HBase) 服务端:他来处理具体的数据维护,保存磁盘。客户端:连接服务器,操作服务器里的数据。CRUD(新增,修改,查询,删除)结构:数据库-表-数据(字段/字段的值)SQL语句操作数据库的一种语言,同时也是数据库脚本文件的扩展名同时也是国际化的数据...

2021-08-29 21:58:50 50

原创 Day18 设计模式 注解

设计模式有23种,目前学习到的是单例模式单例模式确保对象只有一个 节约系统内存空间,控制资源的使用。实现思路方案一:饿汉式:把本类的构造方法私有化,为了不让外界调用构造函数创建对象。 通过本类的构造方法创建对象,并把这个对象私有化,为了防止外界调用 提供公共的全局访问点,向外界返回本类唯一一个对象。注意:公共方法需要设置成静态,需要跳过对象,通过类名直接调用返回本类对象的公共方法,对象也需要设置成静态的,这个对象需要在静态方法中被返回,而静态只能调用静态。方案二:懒汉式延迟加载

2021-08-29 21:57:24 60

原创 Day17 反射

概念反射就是一些高级的API,反射是java这门语言比较有特点的一个特征,可以通过反射获取目标类中的一些资源,并且创建对象。二、获取字节码对象三种方式Class for Name(“包名 类名”)); 类名.class; 对象名.get class();获取包名、类名clazz.get name /获取完整类名clazz.get package().get name() /获取包名clazz.get simple Name() / 获取类名获取构造方法定义信息getCons

2021-08-29 21:56:08 42

原创 day15 day16

Day15SetSet是一个不包含重复数据的collection Set集合中的数据是无序的,(因为set集合没有下标) Set集合中的元素不可以重复 Set集合可以存null值并且null值最多只有一个 如果在自定义对象去重时,需要在自定义类中添加和重写to String(),equals()和hashcode()day16一、进程与线程1.线程是os能够进行运算调度的最小单位2.进程包含线程,进程是动态的。3.高并发:多个进程抢占公共资源。一个cpu同时处理多个进程

2021-08-22 22:11:50 40

原创 day14

一、list特点(1)数据都是有序的(2)元素都有下标(3)允许存放重符的元素二、Arrarlist1.底层是数组,内存空间是连续的2.可以根据下标来查询元素,在数据量大时查询比较快,增删比较慢三、Linkedlist1.底层的数据结构是链表,内存空间是不连续的。2.在数据量大时,查询比较慢,但是首尾操作比较快,也可以根据下标来操作,靠着节点之间的地址值相连。四、map<k,v>1.名字:Entry<k,v> - 键值对(key,value

2021-08-22 22:10:39 49

原创 day13

初始序列化与反序列化1.序列化:把文件从内存输出到磁盘里,用到的流是ObjectOutputStream2.反序列化:把磁盘里的文件恢复到内存中,用到的流是ObjectInputStream3.如果一个类的对象想要被序列化输出,那么这个类必须实现可序列化接口,否则会报错。Java.io.NotSerializableException 。Serializable接口是一个空接口,里面一个方法也没有,作用是当做标志,标志这个类可以被序列化。每次反序列化时,会拿着之前序列化生成的UID作比较,

2021-08-22 22:10:09 63

原创 DAY12

Stream流根据方向输入流,输出流根据操作单位字节流 字符流字节输入流字节输入流(Inputstream-抽象父类不能被实例化,子类 FileInputStream)字节输入流创建对象因为Inputstram是抽象父类不能创建对象,所以使用子类创建对象。FileinputStream in = new FileinputStream(new file(路径));FileinputStream in = new FileinputStream((路径));还有高...

2021-08-22 22:09:29 88

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除