在上一篇博客中提到MyBatis是如何实现代理类MapperProxy,并抛出了一个问题——是怎么执行一个具体的sql语句的,在文末中提到了MapperMethod的execute采用命令模式来判断是何种sql语句,并将具体语句的执行交由SqlSession处理。所以此篇博客正是要讲 ...
Configuration 对象保存了所有mybatis的配置信息,主要包括: mybatis configuration.xml 基础配置文件 mapper.xml 映射器配置文件 读取配置文件 前面例子有这么一段代码: 第 行代码是获取基础配置文件mybatis configuration.xml 的字节流。接着我们将该字节流对象作为 bulid 方法的参数传入进去。bulid 方法源码如下 ...
2018-05-07 20:31 1 5507 推荐指数:
在上一篇博客中提到MyBatis是如何实现代理类MapperProxy,并抛出了一个问题——是怎么执行一个具体的sql语句的,在文末中提到了MapperMethod的execute采用命令模式来判断是何种sql语句,并将具体语句的执行交由SqlSession处理。所以此篇博客正是要讲 ...
SqlSession可以说是整个MyBatis的重中之重,在SqlSession中涉及到前一篇四大对象:Executor、StatementHandler、ParameterHandler、ResultHandler,所以在此先只对SqlSession有一个大概的了解。 在代码中我们可以看到当我 ...
在前面两篇的MyBatis源码解读中,我们一路跟踪到了MapperProxy,知道了尽管是使用了动态代理技术使得我们能直接使用接口方法。为巩固加深动态代理,我们不妨再来回忆一遍何为动态代理。 我相信在初学MyBatis的时候几乎每个人都会发出一个疑问,为什么明明是XXXDao接口,我没有用 ...
工欲善其事,必先利其器 在使用MyBatis Generator 的时候生成的XML的Mapper文件总是不尽人意,例如在处理JdbcType为VARCHAR类型是只做null判断,在Update的时候就会出现一些不符合要求的作用不会做空字符串判断,利用剩余时间研究了一下源代码 ...
在前面对MyBatis稍微有点了解过后,现在来对MyBatis的源码试着解读一下,并不是解析,暂时定为解读。所有对MyBatis解读均是基于MyBatis-3.4.1,官网中文文档:http://www.mybatis.org/mybatis-3/zh/getting-started.html ...
在Mybatis源码解析,一步一步从浅入深(二):按步骤解析源码中我们看到了XMLConfigBuilder(xml配置解析器)的实例化。而且这个实例化过程在文章:Mybatis源码解析,一步一步从浅入深(三):实例化xml配置解析器(XMLConfigBuilder)也进行了详细的阐述 ...
上一篇博客我们介绍了mybatis中关于数据源的配置原理,本篇博客介绍mybatis的事务管理。 对于事务,我们是在mybatis-configuration.xml 文件中配置的: 关于解析 <environments />标签在上一篇数据源的配置我们已经介绍 ...
config.xml解析为org.w3c.dom.Document 本文首先来简单看一下MyBatis中将config.xml解析为org.w3c.dom.Document的流程,代码为上文的这部分: 第3行的代码实现为: 相当于就是将输入的路径转换为一个字 ...