AngusLean Blog

  • Home

  • Categories

  • Archives

  • Tags

  • About

MyBatis源码分析(6)- 缓存的实现原理(2)-二级缓存

Posted on 2017-12-12 | Edited on 2019-04-19 | In Programming Language , Java , Framework , MyBatis

在上一节分析了Mybatis的一级缓存的实现原理,也就是一个HashMap保存结果。 本节尝试分析下二级缓存的原理。
上章提到的Executor接口的继承关系中还有一个很重要的类CacheExecutor没有介绍,该类其实就是一个委派类。 他提供了Mybatis中的二级缓存功能,然后把实际查询委派给实际处理类。

Read more »

MyBatis源码分析(5)- 缓存的实现原理(1)-一级缓存

Posted on 2017-12-08 | Edited on 2017-12-20 | In Programming Language , Java , Framework , MyBatis

在Mybatis的文档中,明确写出Mybatis有二级缓存。

MyBatis includes a powerful transactional query caching feature which is very configurable and customizable. A lot of changes have been made in the MyBatis 3 cache implementation to make it both more powerful and far easier to configure.
By default, just local sessión caching is enabled that is used solely to cache data for the duration of a sessión. To enable a global second level of caching you simply need to add one line to your SQL Mapping


Mybatis包含一个强大的事务查询缓存,Mybatis3做了很多改变使得它更加强大和易于配置。 默认情况下,只有local cache是开启的,这个缓存仅仅在一个Sqlsession的生命周期里有效。 你必须手动开启二级缓存。

那么这两级缓存分别是如何实现的呢? 本节分析下默认的缓存 - local session的具体实现。 事实上,这个缓存默认是打开的,并且没有配置可以关闭。

Read more »

MyBatis源码分析(4)- SqlSession接口增删改查的实现原理(2)

Posted on 2017-12-03 | Edited on 2017-12-20 | In Programming Language , Java , Framework , MyBatis

上篇分析到了SimpleExecutor接口, 这个接口中的doUpdate,doQuery方法是Executor体系中最终的实现。 本节分析下Executor中具体的逻辑

Read more »

MyBatis源码分析(3)- SqlSession接口增删改查的实现原理(1)

Posted on 2017-11-30 | Edited on 2018-02-09 | In Programming Language , Java , Framework , MyBatis

上篇文章说明了mapper接口最终是调用了SqlSession的xml调用,那么Mybatis是如何执行mapper xml的, 一个xml是如何解析以及最终传达到数据库的,本节分析这个问题。

Read more »

MyBatis源码分析(2)- 当我们调用接口时,我们调用了什么?

Posted on 2017-11-27 | Edited on 2018-01-10 | In Programming Language , Java , Framework , MyBatis

通过mapper interface使用Mybatis应该是最为通用的一种使用方式,通过这种方式阅读起来清晰明了,同时又合适的屏蔽了细节。 但是,Mybatis是如何让自定义接口可以实现种种数据库操作的功能,是一个非常有趣的问题。

Read more »
1…6789

cupofish@gmail.com

42 posts
23 categories
27 tags
GitHub
© 2021 cupofish@gmail.com