- 博客(10)
- 资源 (2)
- 收藏
- 关注
原创 mybatis源码学习(十)
mybatis解析environments标签 上一篇文章讲解了mybatis的Reflect解析获取getter,setter等的过程,以及讲解了DefaultReflectFactory的源码。本章讲mybatis解析environments标签的过程。 在mybatis核心配置文件里面environments如下: <environments default="developm...
2019-08-14 16:58:05 129
原创 mybatis源码学习(九)
mybatis加载reflectorFactory 上一篇文章讲解了mybatis加载objectFactory过程的源码实现,以及对objectFactory的使用方法进行了简单的讲解,主要分3步:1、自定义obbectFactory类,该类要继承DefaultObjectFactory,并根据实际需要重写里面的方法。2、在mybatis核心配置文件里面配置上objectFactory标签。3、...
2019-08-14 10:34:27 199
原创 mybatis源码学习(八)
mybatis加载objectFactory配置 上一篇文章讲解了,mybatis加载plugins的过程,在mybatis里,做插件是非常简单的,只要实现了mybatis的interceptor接口,并在类文件里加上签名,确认拦截哪个方法就可以了。在解析配置文件的阶段,mybatis只是实例化配置文件里面的插件类,然后把插件类添加到configuration对象里面。 接着,mybatis加载o...
2019-08-13 15:30:10 135
原创 mybatis源码学习(七)
mybatis加载plugins 上一篇讲解了mybatis加载typeAliases的过程,mybatis加载别名的方法有3种,根据优先级,最优先的是注解,然后才是配置文件,整个过程简单的说,就是读取相关的bean,然后保存在TYPE_ALIASES集合里面,供后面的使用。它主要的作用就是为类写别名,使得mybatis在使用类的时候,可以直接使用别名,而不需要使用类名。 加载完typeAlias...
2019-08-12 17:11:08 141
原创 mybatis源码学习(六)
mybatis加载typeAliases  ;&ensp;&emsp上一篇文章讲完了mybatis启动的时候,加载settings,settings的加载是非常复杂的,通常对于应用来说,只需要默认配置就可以,如果需要根据本身的业务需要,对mybatis进一步优化的话,可以修改settings配置。  ;&ensp;&emsp在加载完s...
2019-08-12 11:30:57 95
原创 mybatis源码学习(五)
mybatis加载settings 上一篇讲完了mybatis加载properties配置,在启动的时候,会根据配置文件加载properties信息,在加载的时候,会有三种不同的顺序。当mybatis加载完properties了之后,接在会加载settings信息。mybatis的settings配置是最复杂的。它能深刻影响 MyBatis 底层的运行,但是在大部分情况下使用默认值便可以运行,所以...
2019-08-11 12:58:56 108
原创 mybatis源码学习(四)
mybatis全局配置文件加载 在上一篇文章中,提到了SqlSessionFactoryBuilder通过调用XMLConfigBuilder里面的parse方法加载配置文件里面的各种资源。在parse方法中,主要调用parseConfiguration方法来加载配置信息,parseConfiguration方法如下: private void parseConfiguration(XNode ...
2019-08-10 15:49:54 157
原创 mybatis源码学习(三)
mybatis资源加载 上一篇文章介绍了搭建mybatis源码分析的工程,在测试工程里面看到,在进行数据库操作前,必须先加载mybatis的相关资源。 在start方法里面,首先通过Resources.getResourceAsStream(“myBatis-config.xml”)方法,读取mybatis的全局配置,接着通过SqlSessionFactoryBuilder().build(in...
2019-08-09 16:50:55 146
原创 mybatis源码学习(二)
创建测试工程 代码引入了之后,需要创建测试工程,从读代码的角度看,测试工程不需要很负责,只需要配置运行mybatis工程就可以了,尽量保持工程的纯粹,方便读代码。 创建表 CREATE TABLE oa_leave ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(50) DEFAULT NULL, startDate datet...
2019-08-09 11:10:09 103
原创 mybatis源码学习(一)
mybatis是一个非常优秀的开源数据持久层框架,通过研究里面的代码,可以对设计模式等有一个非常好的理解。 代码引入,如果只是研究mybatis的源码,只需要通过pom等方式直接引用源码就可以,不需要去git下载源码,如果想直接下载源码,也可以自己直接下载,地址为:mybatis的git地址,这里以maven方式引入,引入的pom为: <dependencies> <d...
2019-08-08 18:21:36 185
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人