- 博客(21)
- 收藏
- 关注
原创 Mybatis 源码分析(二)
对象相关对象作用包含了MyBatis的所有的配置信息SqlSession对操作数据库的增删改查的API进行了封装,提供给应用层使用ExecutorMyBatis执行器,是MyBatis 调度的核 心,负责SQL语句的生成和查询缓存的维 护封装了JDBC Statement操作,负责对 JDBC statement 的操作,如设置参数、 将Statement结果集转换成List集合把用户传递的参数转换成JDBC Statement 所需要的参数。
2022-10-12 15:30:33
444
原创 Mybatis 源码分析(一)
我们主要完成了config配置文件、Mapper文件、Mapper接口中注解的解析我们得到了一个最重要的对象Configuration,这里面存放了全部的配置信息,在它的属性里还有各种各样的容器最后返回了一个DefaultSqlSessionFactory,里面持有了Configuration的实例最后时序图。
2022-10-10 17:08:05
705
原创 Mybatis 代码生成器
这个接口里面定义 了大量的增删改查的基础方法,这些方法都是支持泛型的。我们在项目中使用Mybatis的时候,针对需要操作的一张表,需要创建实体类、Mapper映射器、Mapper接口,里面又有很多的字段和方法的配置,这部分的工作是非常频繁的。既然针对每张表生成的基本方法都是一样的,也就是公共的方法部分代码都是一样的,我们能不能把 这部分合并成一个文件,让它支持泛型呢?MBG的配置文件里面有一个Example的开关,这个东西用来构造复杂的筛选条件的,换句话说就是根据我们的代码去生成where条件。
2022-09-28 17:47:56
8456
原创 Mybatis 分页操作
逻辑分页是强烈不推荐的,但是这里还是把用法写出来吧Mybatis里面有一个逻辑分页对象RowBounds,里面主要有两个属性,offset和limit(从第几条开始,查询多少条)。我们可以在Mapper接口的方法上加上这个参数,不需要修改xml里面的SQL语句。接口中定义测试类RowBounds的工作原理其实是对ResultSet的处理。它会舍弃掉前面offset条数据,然后再取剩下的数据的limit条。很明显。
2022-09-28 14:31:17
852
原创 Mybatis 核心配置
在MyBatis中我们发现其实他最核心的应该是那两个配置文件,一个全局配置文件,一个映射文件。我们只要把这两个文件弄清楚,其实对于MyBatis的使用就掌握了大部分。接下来我们详细的给大家来 介绍下这两个配置文件。
2022-09-27 16:43:35
679
原创 Mybatis - 入门篇
mybatis是一款优秀的持久层框架,支持自定义SQL、存储过程以及高级映射。Mybatis免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作。Mybatis可以通过简单的XML货注解来配置和映射原始类型、接口和JAVA pojo(Plain Old Java Objects,普通老式对象)为数据库中的记录。半自动的ORM框架能给灵活解决的可以指定部分数据修改保存问使用连接池对连接进行管理sql和代码分离,集中管理结果集映射参数映射和动态SQL重复SQL的提取缓存管理插件机制。
2022-09-27 13:59:17
289
原创 Spring篇 高频面试 二
Spring、SpringBoot、Spring Cloud到底有什么区别事务、IOC、AOP、SpringBoot启动过程、SpringBoot自动装配原理、作用域、生命周期、设计模式、BeanFactory和ApplicationContext有什么区别
2022-09-24 01:03:50
119
原创 Spring篇 常问面试题 一
spring是一个框架,在我们开发过程中,基本都是依赖于Spring。Spring帮我们起到了IoC容器的作用,用来承载我们的bean,对象的创建到销毁的一整个生命周期都是Spring在帮我们管理。我们可以用xml配置文件或者使用注解的方式来使用Spring。 Spring的工作原理是按照设计模式精心打造的,比如实现了工厂模式的工厂类BeanFactory,在程序中通常使用它的子类ApplicationContext。Spring核心是IoC容器,IoC是一种编程
2022-09-17 00:12:22
125
原创 Spring篇 AOP介绍
面向切面编程是将程序抽象成各个切面,将某些公共模块抽取出来放到一个可重用模块里,减少系统的重复代码,降低系统的耦合度,增强代码的可操作性和可维护下。当目标类是接口类时,就会直接使用jdk的动态代理方式,其余的都是使用cglib动态代理。所以aop的实现有两个关键步骤,一个是要得到代理对象,一个是要利用递归责任链执行前后置通知目标方法。Spring AOP的底层实现原理其实就是动态代理,目前Spring中有两种动态代理方式,一种是JDK反射,一种是cglib方式。
2022-09-15 16:28:32
356
原创 Spring篇 MVC介绍
在Web应用程序设计中,MVC深受程序员喜爱,而在Spring中,SpringMVC以DispatcherServlet为核心,负责协调和组织不同组件来完成请求处理,最终响应给客户端的工作。这就是SpringMVC模式。SpringMVC是一个基于JAVA来实现的MVC设计模式,通过MVC设计模式来请求驱动类型的轻量级web框架,将Model、View、Controller分离,再将web层进行解耦,把复杂的web应用拆分成几个部分,各司其职,简化开发,方便开发人员之间的配合。
2022-09-04 23:57:07
142
原创 Spring篇 IoC容器介绍
IoC,英文全称Inversion of Control,翻译过来就是控制反转的意思。Spring的核心就是IoC容器,其实IoC也是一种编程思想,用于实现模块之间的解耦。在Spring中,对象的创建、初始化、维护和销毁等生命周期的控制都是交给IoC容器来进行管理的,而不是交给我们开发者来控制,从而实现控制反转。BeanDefinition、BeanWrapper、ApplicationContext BeanFactory
2022-09-03 00:52:15
409
原创 Spring篇 常用注解组件介绍
这里只讲一些比较常用的组件,(注解与类),大致可以分为三类,配置组件、赋值组件、织入组件。@Configuration@ComponentScan@Scope@Conditional@Lazy@Import@Component@Service@Controller@Repository@Value@autowired@PropertySource@Qualifier@Primary@Resource......
2022-08-30 00:44:26
194
原创 设计模式 高频面试题整合篇
谈谈你对深克隆(Deep clone)和浅克隆的理解链式编程是建造者模式的标配么?你如何理解静态代理和动态代理>CGlib和JDK动态代理对比什么场景下应该用策略模式,什么场景下不应该用?说下责任链模式的实现原理责任链模式的优缺点是什么...
2022-08-28 16:45:33
216
原创 面试篇:单例模式速食篇
我:面试管,你好。面试官:你好,xxx么?。先自我介绍下?我:我是一位靓仔。面试官:无了?我:嗯,无了。面试官:... ...我:......许久之后......面试官:那这样吧,我问你一些问题吧。你对叙利亚的局势怎么看。不好意思,说错了,你了解设计模式么?我:嗯,了解面试管:那你说说你用过了哪些设计模式吧。我:单例模式、原型模式、工厂模式、建造者模式、代理模式、策略模式等等你对单例模式的理解?......
2022-08-27 14:44:13
236
1
原创 设计模式篇 之 责任链模式
将请求与处理解耦请求处理者(节点对象)只需要关注自己感兴趣的请求进行处理即可,对于不感兴趣的请求,直接转发给下一级节点对象。具体链式传递处理请求功能,请求发送这无需知晓链路结构,只需等待请求处理结果。链路结构灵活,可以通过改变链路结构动态地新增或删减责任易于扩展新的请求处理类(节点),符合开闭原则。...
2022-08-26 00:22:07
128
原创 设计模式篇 之 策略模式 Strategy
策略模式(Strategy Pattern)又叫也叫政策模式(Policy Pattern),它是将定义的算法家族、分别封装起来,让它们之间可以互相替换,从而让算法的变化不会影响到使用算法的用户。策略模式最重要的一点是在执行的过程中只会选择一种逻辑进行执行,而不是用if...else提前判断执行哪种逻辑,策略模式大多情况下是为了解决硬编码的问题。1、策略模式符合开闭原则。2、避免使用多重条件转移语句,如if...else... 语句、switch语句。
2022-08-24 00:31:40
81
原创 设计模式 之 代理模式 Proxy
代理模式Proxy指为其他对象提供一种代理,以控制对这个对象的访问。我的理解是代理模式是可以在不修改被代理对象的基础上,通过扩展代理类,进行一些功能的附加与增强,有效防止目标对象的直接访问。
2022-08-23 01:16:24
263
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人