参考 知识星球 中 芋道源码 星球的源码解析,一个活跃度非常高的 Java 技术社群,感兴趣的小伙伴可以加入 芋道源码 星球,一起学习😄 该系列文档是本人在学习 Mybatis 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释(Mybatis源码分析 GitHub ...
本文将主要介绍 Executor 的整体结构和各子类的功能,并对比效率 一 Executor 主体结构 . 类结构 executor 的类结构如图所示: 其各自的功能: BaseExecutor:基础执行器,封装了子类的公共方法,包括一级缓存 延迟加载 回滚 关闭等功能 SimpleExecutor:简单执行器,每执行一条 sql,都会打开一个 Statement,执行完成后关闭 ReuseExe ...
2019-08-22 16:11 0 462 推荐指数:
参考 知识星球 中 芋道源码 星球的源码解析,一个活跃度非常高的 Java 技术社群,感兴趣的小伙伴可以加入 芋道源码 星球,一起学习😄 该系列文档是本人在学习 Mybatis 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释(Mybatis源码分析 GitHub ...
mybatis框架在操作数据的时候,离不开SqlSession接口实例类的作用。可以说SqlSession接口实例是开发过程中打交道最多的一个类。即是DefaultSqlSession类。如果笔者记得没有错的话,早期是没有什么getMapper方法的。增删改查各志有对应的方法进行操作。虽然现在改进 ...
本篇博客将主要讲解 mybatis 插件的主要流程,其中主要包括动态代理和责任链的使用; 一、mybatis 拦截器主体结构 在编写 mybatis 插件的时候,首先要实现 Interceptor 接口,然后在 mybatis-conf.xml 中添加插件, 这里需要注意的是,添加的插件 ...
本篇博客就是 myabtis 系列的最后一篇了,还剩 ResultSetHandler 没有分析;作为整个 mybatis 最复杂最繁琐的部分,我不打算按步骤一次详解,因为里面的主要内容就是围绕 resultMap 按层次结构依次解析的,其中运用最多的就是反射,所以我这里将围绕延迟加载重点分析 ...
一、KeyGenerator 概述 在平时开发的时候经常会有这样的需求,插入数据返回主键,或者插入数据之前需要获取主键,这样的需求在 mybatis 中也是支持的,其中主要的逻辑部分就在 KeyGenerator 中,下面是他的类图: 其中: NoKeyGenerator:默认空 ...
从前面分析我们知道了sql的具体执行是通过调用SqlSession接口的对应的方法去执行的,而SqlSession最终都是通过调用了自己的Executor对象的query和update去执行的。本文就分析下sql的执行器-----Executor Executor是mybatis的sql执行器 ...
为了便于源码分析,还是先来一个MyBatis的Demo吧 mybatis-mysql-config.xml user.xml 入口方法main: 这个Executor的代码离上面Demo执行代码还有一段很长封装,如果分析Executor,就要分析 ...
mybatis有三种执行器。下面研究其主要区别。 其类图如下: 1. Executor 源码 org.apache.ibatis.executor.Executor: 2. BaseExecutor 抽象类 View Code ...