自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 生成随机密码

原文地址:https://blog.csdn.net/qingquanyingyue/article/details/106336742,在此基础上修改的。重置密码是比较常见的操作,通常要求生成比较复杂的随机密码,比如要求长度九位,并且包含数字、大小写和特殊字符。

2023-08-01 16:44:42 207 1

原创 mysql中的group_concat函数

a 1a 2a 3b 4b 5a 1,2,3b 4,5可以使用mysql聚合函数中的。

2023-08-01 16:42:35 102 1

原创 Mybatis创建Mapper接口实现类

在Mybatis的开发过程中,程序员更加关注Mapper接口中的方法以及文件的编写。但是我们仅仅只是写了一个方法名和Sql语句,并且接口是不能被实例化的,那么Mybatis是如何通过Mapper接口来执行对应的Sql语句呢?其实是在运行过程中Mybatis通过动态代理的方式创建了Mapper接口的实现类。

2023-05-21 16:33:20 1160

原创 Mybatis的开发步骤

Mybatis是一个ORM类型框架,解决的数据库访问和操作的问题,对现有JDBC技术的封装。MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。(官方介绍)官网文档地址。

2023-05-19 23:41:57 79

原创 Mybatis源码分析

对象用于解析XML文件,解析xml文件的方式常见有三种,包括DOM方式、SAX方式、XPath方式,这里采用的是XPath。方法用于解析mybatis-config.xml文件流,转为为Configuration对象。方法中,这里首先会判断是否开启二级缓存,如果开启二级缓存。这里判断是否开启二级缓存,采用了装饰器设计模式,如果二级缓存没有命中或没有开启二级缓存,就会执行。方法中,在第一步Mybatis初始化过程中就将。标签中的子标签,这里需要重点看一下。文件,而Mybatis在解析。

2023-05-19 23:23:04 109

原创 Mybatis一级缓存

Mybatis一个SqlSession对象中创建一个本地缓存localCache,在二级缓存不命中情况下,对于每一次查询,都会尝试去本地缓存中查找当前查询Sql的结果数据,如果在缓存中,就直接从缓存中取出,然后返回给用户;否则,从数据库读取数据,将查询结果存入缓存并返回给用户。Mybatis查询数据顺序:二级缓存 ---> 一级缓存 ---> 数据库一级缓存是SQLSession级别的,每一个SqlSession会创建一个一级缓存,两个不同的SqlSession执行同一个查询Sql也是查询各自的一级缓存。

2023-05-19 23:14:12 1821

原创 Mybatis二级缓存

Mybatis二级缓存原理

2023-05-19 22:32:05 2815 1

原创 Spring事务

多个事务在同一时间,访问操作了相同的数据。

2023-04-16 11:31:55 58

原创 Java中的retry标记

可以跳到retry标记的最外层循环,继续执行最外层循环的下一次遍历。类的源码时,发现线程池在添加工作线程时用到了。可以直接跳出retry标记的最外层循环。这个字段,记录一下用法。

2023-04-14 11:47:56 155

原创 Spring解决scope为prototype注入失效

的多例对象会注入失效,每次调用多例对象不会创建新的,因为单例对象只创建一次,所以每次获取的多例对象都是同一个;但是直接Spring容器中获取对象,每次获取的对象是不同的。都是不同的,所以可以让Spring容器来完成。中注入Bean工厂,从而从工厂中获取。是多例对象,就会出现注入失效的问题。每次从Spring容器中获取多例的。

2023-04-13 22:12:37 313

原创 Spring父子工厂

【代码】Spring父子工厂。

2023-04-13 22:11:07 76

原创 Spring AOP源码分析二

上一篇讲述了Spring AOP开发步骤和注解的两个属性,这一篇讲解注解的源码。进入到。

2023-04-12 22:44:11 38

原创 SpringAOP源码分析一

原因是因为printAge()方法中是由当前对象(原始对象)this来调用printName()方法的,所以在printAge()方法内部调用printName()方法时,也是需要获取UserServiceImpl的代理对象来执行。在执行printAge()和printName()方法前后都执行了额外功能myBefore()和myAfter()。方法,然后执行了printAge()方法,然后内部执行了printName()方法,然后执行了额外功能。的用途,还是上面的代码,将原始对象。

2023-04-12 22:34:33 60 1

原创 Spring AOP编程

对于动态代理而言,没有静态代理那样手写一个代理类,所以动态代理类也就没有.class文件,JVM就不会为其分配类加载器。关系创建代理对象,原始类作为父类,代理类作为子类,这样既可以保证二者方法一致,同时在代理类中提供新的实现(额外功能+原始方法)有时候原始类没有实现任何接口,要想代理类与原始类拥有相同的接口 ,就可以通过继承实现。为及本单位的程序开发,通过过程间的的彼此协同,相互调用,完成程序的构建。为基本单位的程序开发,通过对象见得彼此协同,相互调用,完成程序的构建。对象,进而可以创建代理对象。

2023-04-12 22:33:44 57

原创 Spring AOP编程

对于动态代理而言,没有静态代理那样手写一个代理类,所以动态代理类也就没有.class文件,JVM就不会为其分配类加载器。关系创建代理对象,原始类作为父类,代理类作为子类,这样既可以保证二者方法一致,同时在代理类中提供新的实现(额外功能+原始方法)有时候原始类没有实现任何接口,要想代理类与原始类拥有相同的接口 ,就可以通过继承实现。为及本单位的程序开发,通过过程间的的彼此协同,相互调用,完成程序的构建。为基本单位的程序开发,通过对象见得彼此协同,相互调用,完成程序的构建。对象,进而可以创建代理对象。

2023-04-12 22:32:10 112 1

原创 Spring动态代理

以卖房为案例,房东向房屋中介代理自己的房子,自己只负责签合同和收钱(核心功能),其他的带看房屋、宣传(额外功能),引入房屋中介这个代理类。**类切入点:**指定特定类作为切入点(额外功能加入的位置),**静态代理:**为每一个原始类,手工编写一个代理类。**包切入点:**指定包作为额外功能加入的位置,**注意:**与操作不能用于同种类型的切入点函数。**注意:**其他的切入点函数,是为了简化。**方法切入点:**指定方法加上额外功能。**核心功能:**业务运算、DAO调用。

2023-04-12 22:30:33 295

空空如也

空空如也

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

TA关注的人

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