虽然我们都知道有20多个设计模式,但是大多停留在概念层面,真实开发中很少遇到,Mybatis源码中使用了大量的设计模式,阅读源码并观察设计模式在其中的应用,能够更深入的理解设计模式。 Mybatis至少遇到了以下的设计模式的使用: Builder模式,例如SqlSessionFactoryBuild ...
分类:
其他好文 时间:
2020-10-08 19:17:18
阅读次数:
14
mybatis源码(七)mybatis二级缓存的使用 mybatis的二级缓存是mapper级别的缓存 1.mybatis中如何使用二级缓存 a.mybatis的主配置文件的settings中设置cacheEnabled=true b.mybatis的mapper的配置文件中,配置缓存策略、缓存刷新 ...
分类:
其他好文 时间:
2020-09-18 17:16:39
阅读次数:
27
在上篇文章中分析了mybatis解析mapper标签中的resource、url属性的过程,《mybatis源码配置文件解析之五:解析mappers标签(解析XML映射文件)》。通过分析可以知道在解析这两个属性的时候首先解析的是对应的XML映射文件,然后解析XML映射文件中的namespace属性配 ...
分类:
移动开发 时间:
2020-06-29 16:53:12
阅读次数:
62
在上篇文章中分析了mybatis解析<mappers>标签,《mybatis源码配置文件解析之五:解析mappers标签 》重点分析了如何解析<mappers>标签中的<package>子标签的过程。mybatis解析<mappers>标签主要完成了两个操作,第一个是把对应的接口类,封装成Mappe ...
分类:
移动开发 时间:
2020-06-29 13:31:12
阅读次数:
65
Configration 将Mybatis config文件和mapper文件解析后,生成的对象,二级缓存在这个类中,此类的作用域是整个应用的生命周期 XMLConfigBuilder 对Mybatis config进行解析,并给configration对象的属性赋值 XMLMapperBuilde ...
分类:
其他好文 时间:
2020-06-28 09:42:01
阅读次数:
65
通过前面两篇文章,我们完成了对 MyBatis 所有配置文件(包括配置文件和映射文件)解析过程的分析。回忆一下我们最开始给出的小示例(如下),经过前面的跋山涉水,我们终于完成了第一行代码的 99% (手动滑稽),这最后的 1% 就是创建 SqlSessionFactory 对象。所有的配置解析最后都 ...
分类:
数据库 时间:
2020-06-26 17:58:45
阅读次数:
66
在上篇博客中分析了plugins标签,《mybatis源码配置文件解析之四:解析plugins标签 》,了解了其使用方式及背后的原理。现在来分析<mappers>标签。 一、概述 在mybatis的核心配置文件(mybatis-config.xml)中,有关mappers的配置如下, <mapper ...
分类:
移动开发 时间:
2020-06-23 13:21:59
阅读次数:
103
缓存 缓存是一般ORM框架都有的功能,目的就是提高查询的效率和减少数据库的压力。 缓存结构 Mybatis源码中与缓存相关的类都在cache包中,其中有一个Cache接口,默认实现类PerpetualCache,他是由HashMap实现的,是基础缓存。 Mybatis的缓存功能是采用装饰器模式实现的 ...
分类:
其他好文 时间:
2020-06-19 14:05:07
阅读次数:
44
在前边的博客在分析了mybatis解析typeAliases标签,《mybatis源码配置文件解析之三:解析typeAliases标签》。下面来看解析plugins标签的过程。 一、概述 在mybatis的核心配置文件(mybatis-config.xml)文件中,有关plugins的配置如下, < ...
分类:
其他好文 时间:
2020-06-18 19:21:57
阅读次数:
37
sqlSession,顾名思义,是一次sql的回话,它起到了承上启下的作用,这个类既维护了Configuration对象,又包含Executor对象,可以 执行jdbc操作,在mybatis体系中非常重要,下面我们来看一下这个类的源码: 1:sqlSession类的源码 SqlSession接口类定 ...
分类:
数据库 时间:
2020-06-11 10:35:13
阅读次数:
62