<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[xh_yj的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/xh_yj</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; xh_yj]]></copyright><item><title><![CDATA[mysql--存储过程]]></title><link>https://blog.csdn.net/xh_yj/article/details/124196640</link><guid>https://blog.csdn.net/xh_yj/article/details/124196640</guid><author>xh_yj</author><pubDate>Fri, 15 Apr 2022 17:36:45 +0800</pubDate><description><![CDATA[一、存储过程：
将能够完成特定功能的SQL指令进行封装（SQL指令集)，编译之后存储在数据库服务器上，并且为之取一个名字，客户端可以通过名字直接调用这个SQL指令集，获取执行结果。
二、存储过程的优点
·1、SQL指令无需客户端编写，通过网络传送，可以节省网络开销，同时避免SQL指令在网络传输过程中被恶意篡改，保证安全性。
2、存储过程经过编译创建并保存在数据库中的，执行过程无需重复进行编译操作，对SQL指令的执行过程进行了性能提升。
3、存储过程中多个SQL指令之间存在逻辑关系，支持流程控制语句（分支、循]]></description><category></category></item><item><title><![CDATA[mysql--存储引擎、视图]]></title><link>https://blog.csdn.net/xh_yj/article/details/124170734</link><guid>https://blog.csdn.net/xh_yj/article/details/124170734</guid><author>xh_yj</author><pubDate>Fri, 15 Apr 2022 10:34:56 +0800</pubDate><description><![CDATA[一、mysql表类型和存储引擎

1、基本介绍

①.MySQL的表类型由存储引擎(Storage Engines)决定，主要包括MylSAM、
innoDB、Memory等。
②. MySQL数据表主要支持六种类型,分别是:CSV、Memory、ARCHIVE、MRG_MYISAM、MYISAM、InnoBDB。
③.这六种又分为两类,一类是”事务安全型”(transaction-safe)， 比如:
InnoDB;其余都属于第二类，称为”非事务安全型”(non-transaction-safe)[mys]]></description><category></category></item><item><title><![CDATA[MYSQL-事务/隔离级别/ACID]]></title><link>https://blog.csdn.net/xh_yj/article/details/124149427</link><guid>https://blog.csdn.net/xh_yj/article/details/124149427</guid><author>xh_yj</author><pubDate>Thu, 14 Apr 2022 14:08:18 +0800</pubDate><description><![CDATA[一、什么是事务
事务用于保证数据的一致性，它由一组相关的dml语句组成，该组的dml语句要么全部成功，要么全部失败。如：转账就要用事务来处理，用以保证数据的一致性。
1、mysql数据库控制台事务的几个重要操作
start transaction //--开始一个事务
savepoint //保存点名--设置保存点
rollback to //保存点名 --回退事务
rollback  //--回退全部事务
commit //--提交事务，所有的操作生效，不能回退

//1、创建一张测试表
create t]]></description><category></category></item><item><title><![CDATA[MYSQL-索引的使用]]></title><link>https://blog.csdn.net/xh_yj/article/details/124146652</link><guid>https://blog.csdn.net/xh_yj/article/details/124146652</guid><author>xh_yj</author><pubDate>Wed, 13 Apr 2022 15:20:55 +0800</pubDate><description><![CDATA[一、索引的原理
采用二叉树的原理

没有索引的话
select * from emp where id = 9
//进行全表扫描，查询速度慢

二、索引的类型

1、主键索引，主键自动的为主索引（类型Primary Key）

create table t1(
id int primary key, //--主键，同时也是索引，称为主键索引
name varchar(32);
）


2、唯一索引(UNIQUE)

create table t2(
id int unique,//id是唯一的，同时也是索引]]></description><category></category></item><item><title><![CDATA[redis中雪崩、击穿、穿透]]></title><link>https://blog.csdn.net/xh_yj/article/details/123898203</link><guid>https://blog.csdn.net/xh_yj/article/details/123898203</guid><author>xh_yj</author><pubDate>Sat, 02 Apr 2022 15:23:27 +0800</pubDate><description><![CDATA[一、缓存穿透
概念

解决方案∶
( 1 ）对空值缓存∶如果一个查询返回的数据为空(不管是数据是否不存在），我
们仍然把这个空结果( null )进行缓存，设置空结果的过期时间会很短，最长不超过五分钟
( 2)设置可访问的名单(白名单) ∶
使用bitmaps类型定义一个可以访问的名单，名单id作为bitmaps的偏移量，每次访问和bitmap里面的id进行比较，如果访问id不在bitmaps 里面，进行拦截，不允许访问。
( 3)采用布隆过滤器∶(布隆过滤器(Bloom Filter )是1970年由布隆]]></description><category></category></item><item><title><![CDATA[redis的事务]]></title><link>https://blog.csdn.net/xh_yj/article/details/123864976</link><guid>https://blog.csdn.net/xh_yj/article/details/123864976</guid><author>xh_yj</author><pubDate>Thu, 31 Mar 2022 10:52:21 +0800</pubDate><description><![CDATA[一、悲观锁
悲观锁(Pessimistic Lock)，顾名思义，就是很悲观，每次去拿数据的时候都认为别人会修改，所以每次在拿数据的时候都会上锁，这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制，比如行锁，表锁等，读锁，写锁等，都是在做操作之前先上锁。,

二、乐观锁
乐观锁(Optimistic Lock),顾名思义，就是很乐观，每次去拿数据的时候都认为别人不会修改，所以不会上锁，但是在更新的时候会判断一下在此期间别人有没有去更新这个数据，可以使用版本号等机制。]]></description><category></category></item><item><title><![CDATA[Redis五大数据类型及操作命令建]]></title><link>https://blog.csdn.net/xh_yj/article/details/123704119</link><guid>https://blog.csdn.net/xh_yj/article/details/123704119</guid><author>xh_yj</author><pubDate>Wed, 30 Mar 2022 09:15:59 +0800</pubDate><description><![CDATA[redis特征：
&nbsp;&nbsp;键值（key-value）型，value 支持多种不同数据结构，功能丰富
&nbsp;&nbsp;单线程，每个命令具备原子性
&nbsp;&nbsp;低延迟，速度快（基于内存、IO多路复用、良好的编码）
&nbsp;&nbsp;支持数据持久化
&nbsp;&nbsp;支持主从集群、分片集群
&nbsp;&nbsp;支持多语言客户端
一、常用的五大数据类型

1、String(字符串)


2、List(列表)


3、Set(集合)


4、Hash(哈希)


5]]></description><category></category></item><item><title><![CDATA[Redis在windows下安装]]></title><link>https://blog.csdn.net/xh_yj/article/details/123711087</link><guid>https://blog.csdn.net/xh_yj/article/details/123711087</guid><author>xh_yj</author><pubDate>Thu, 24 Mar 2022 15:18:52 +0800</pubDate><description><![CDATA[一、下载链接https://github.com/tporadowski/redis/releases下载redis-x64.zip压缩包，打开如下

二、启动
&nbsp;&nbsp;方式1：直接双击redis-server.exe
&nbsp;&nbsp;方式2：打开一个 cmd 窗口 使用 cd 命令切换目录到 redis 运行：
redis-server.exe redis.windows.conf


三、测试redis是不是安装成功
另启一个 cmd 窗口,原来的不要关闭，不然就无法访问服务端了]]></description><category></category></item><item><title><![CDATA[Eureka、Zookeeper、Counsul的异同点]]></title><link>https://blog.csdn.net/xh_yj/article/details/123531620</link><guid>https://blog.csdn.net/xh_yj/article/details/123531620</guid><author>xh_yj</author><pubDate>Wed, 16 Mar 2022 17:33:49 +0800</pubDate><description><![CDATA[CAP原则

C:consistency   强一致性
A：Availability  可用性
P：Partition tolerance 分区容错性
CAP理论关注粒度是数据，而不是整体系统设计的策略
Eureka是AP原则
Zookeeper/Counsul是CP原则

]]></description><category></category></item><item><title><![CDATA[Lombok的使用]]></title><link>https://blog.csdn.net/xh_yj/article/details/123136002</link><guid>https://blog.csdn.net/xh_yj/article/details/123136002</guid><author>xh_yj</author><pubDate>Fri, 25 Feb 2022 17:00:12 +0800</pubDate><description><![CDATA[1、下载插件，添加依赖
2、@Data自动添加get/set方法
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@NoArgsConstructor //无参构造器
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@AllArgsconstructor //全参构造器
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@ToString 添加ToString方法


...]]></description><category></category></item><item><title><![CDATA[SpringBoot自动配置原理]]></title><link>https://blog.csdn.net/xh_yj/article/details/123127623</link><guid>https://blog.csdn.net/xh_yj/article/details/123127623</guid><author>xh_yj</author><pubDate>Fri, 25 Feb 2022 15:46:25 +0800</pubDate><description><![CDATA[实现的主要注解是@SpringBootApplication

@SpringBootApplication注解底层主要实现注解代码如下

1、@SpringBootConfiguration

底层是@Configuration,代表当前是一个配置类

2、@ComponentScan

指定扫描那些

3、@EnableAutoConfiguration 开启自动配置注解

底层中包含：
@AutoConfigurationPackage自动配置包，指定了默认的包规则
@import(AutoConf.]]></description><category></category></item><item><title><![CDATA[SpringBoot优缺点]]></title><link>https://blog.csdn.net/xh_yj/article/details/123090845</link><guid>https://blog.csdn.net/xh_yj/article/details/123090845</guid><author>xh_yj</author><pubDate>Wed, 23 Feb 2022 15:49:09 +0800</pubDate><description><![CDATA[一、SpringBoot优点

1、创建独立Spring应用
2、内嵌web服务器
3、自动starter依赖，简化构建配置
4、自动配置Spring以及第三方功能
5、提供生产级别的监控、健康检查以及外部优化配置
6、无代码生成、无需编写XML
一句话概括：
&nbsp;&nbsp;SpringBoot是整合Spring技术栈的一站式框架
&nbsp;&nbsp;SpringBoot是简化Spring技术栈的快速开发脚手架

二、SpringBoot缺点

1、迭代快
2、封装太深，内部原理复杂，不容易.]]></description><category></category></item><item><title><![CDATA[@Transactional的参数管理配置]]></title><link>https://blog.csdn.net/xh_yj/article/details/122493576</link><guid>https://blog.csdn.net/xh_yj/article/details/122493576</guid><author>xh_yj</author><pubDate>Fri, 14 Jan 2022 16:52:47 +0800</pubDate><description><![CDATA[****** 1、在service类上面添加注解@Transactional，在这个注解里面可以配置事务相关参数**



2、propagation–事物的传播行为

REQUIRED：如果add方法本身有事务，调用update方法之后，update使用当前add方法里面事务如果add方法本身没有事务，调用updat e方法之后，创建新事务
REQUIRED_NEW：使用add方法调用updat e方法，如果add无论是否有事务，都创建新的事务

@Service
@Transactional(prop.]]></description><category></category></item><item><title><![CDATA[Spring中的事务@Transactional]]></title><link>https://blog.csdn.net/xh_yj/article/details/122487340</link><guid>https://blog.csdn.net/xh_yj/article/details/122487340</guid><author>xh_yj</author><pubDate>Fri, 14 Jan 2022 10:48:26 +0800</pubDate><description><![CDATA[1、什么是事务

 (1)事务是数据库操作最基本单元，逻辑上一组操作，要么都成功，如果有一个失败所有的操作都失败。
 (2)典型场景：银行转账
  lucy给mary转账
  lucy少100，mary多100

2、事物的四个特性（ACID）

 (1)原子性；
 (2)一致性；
 (3)隔离性；
 (4)持久性；

3、举例，事务的操作过程

public void accountMoney(){
	try{
	//第一步 开启事务
	
	//第二步 进行业务操作
	//lucy少100
	userD.]]></description><category></category></item><item><title><![CDATA[JdbcTemplate的使用]]></title><link>https://blog.csdn.net/xh_yj/article/details/122477678</link><guid>https://blog.csdn.net/xh_yj/article/details/122477678</guid><author>xh_yj</author><pubDate>Thu, 13 Jan 2022 17:33:45 +0800</pubDate><description><![CDATA[1、引入jar包



2、在Spring配置文件中配置数据库连接池

&lt;!--数据库连接池—-&gt;
&lt;bean id="dataSource" class="com.al ibaba. dnuid. pool.DruidDataSaurce"destroy method="close"&gt;
	&lt;property name="url" value="jdbc:mysql:///user_db"/&gt;
	&lt;property nane="username" value="r.]]></description><category></category></item><item><title><![CDATA[AOP的动态代理]]></title><link>https://blog.csdn.net/xh_yj/article/details/122457810</link><guid>https://blog.csdn.net/xh_yj/article/details/122457810</guid><author>xh_yj</author><pubDate>Thu, 13 Jan 2022 16:24:11 +0800</pubDate><description><![CDATA[一、什么是AOP
1、面向切面编程（方面），利用AOP可以对业务逻辑的各个部分进行隔离，从而使得业务逻辑各部分之间的耦合度降低，提高程序的可重复性，同时提高了开发的效率。
2、通俗描述：不通过修改源代码方式，在主干功能里面添加新功能。
3、列：实现登录权限功能中用到了AOP
二、AOP底层原理
1、Aop底层使用动态代理
（1）有两种情况动态代理
  第一种 有接口情况，使用JDK动态代理
  第二种没有接口情况，使用CGLIB动态代理

...]]></description><category></category></item><item><title><![CDATA[Aop术语解释]]></title><link>https://blog.csdn.net/xh_yj/article/details/122473621</link><guid>https://blog.csdn.net/xh_yj/article/details/122473621</guid><author>xh_yj</author><pubDate>Thu, 13 Jan 2022 16:05:04 +0800</pubDate><description><![CDATA[1、连接点

类里面的那些方法可以被增强，这些方法称为连接点

2、切入点

实际被真正增强的方法，称为切入点

3、通知（增强）

①实际增强的逻辑部分称为通知（增强）
②通知（增强）有多重类型
 前置通知
 后置通知
 环绕通知
 异常通知
 最终通知

4、切面

切面是一个动作，把
通知应用到切入点的过程

...]]></description><category></category></item><item><title><![CDATA[Spring纯注解开发]]></title><link>https://blog.csdn.net/xh_yj/article/details/122456804</link><guid>https://blog.csdn.net/xh_yj/article/details/122456804</guid><author>xh_yj</author><pubDate>Wed, 12 Jan 2022 16:36:33 +0800</pubDate><description><![CDATA[创建配置类， 替代xml配置文件

@Configuration//作为配置类，替代xml配置文件
@ComponentScan (basePackages= {" com..atguigu"})
public class SpringConfig {

}


]]></description><category></category></item><item><title><![CDATA[Spring使用注解实现属性注入]]></title><link>https://blog.csdn.net/xh_yj/article/details/122454561</link><guid>https://blog.csdn.net/xh_yj/article/details/122454561</guid><author>xh_yj</author><pubDate>Wed, 12 Jan 2022 15:48:21 +0800</pubDate><description><![CDATA[一、@Autowired:根据属性类型进行自动装配
第一步：把service和dao对象创建，在service和dao类添加创建对象注解
第二步：在service注入dao对象，在service类添加dao类型属性，在属性上面使用注解
@Service
public class UserSexvice {
//定义 dao.类型属性
//不需要添加set方法
//添加注入属性注解
@Autowired
private UserDao userDao;
public void add() {
     Sys]]></description><category></category></item><item><title><![CDATA[Spring使用注解创建对象]]></title><link>https://blog.csdn.net/xh_yj/article/details/122452294</link><guid>https://blog.csdn.net/xh_yj/article/details/122452294</guid><author>xh_yj</author><pubDate>Wed, 12 Jan 2022 15:13:04 +0800</pubDate><description><![CDATA[Spring针对Bean管理中创建对象提供注解

@Component
@Service
@Controller
@Repository
**上面四个注解功能是一样的，都可以用来创建bean的实例

基于注解方式实现对象创建

第一步：引入依赖

第二步：开启组件扫描

第三步：创建类别，在类上面添加创建对象注解


...]]></description><category></category></item></channel></rss>