本期看点
本文从源码分析Mybatis一级和二级缓存的应用,进而阐述Mybatis缓存的“坑”。
一级缓存:SqlSession维度的缓存,也就是每个SqlSession独享的缓存,我们在使用Mybatis的时候,通常会使用SqlSession的getMapper方法获取到映射。
二级缓存:namespace维度的缓存。上文提到SqlSession中会持有一个Executor,在构建SqlSession的时候,Mybatis会根据cacheEnable选项来确定是否使用一个缓存的Executor,也就是CachingExecutor。
作者
张强,16年加入京东,目前就职于京东商城京麦平台组,从事京东对外开放平台和服务于第三方入驻商家的相关工作,开源爱好者,对常用开源框架如Spring、Mybatis、Dubbo等有源码级别的了解,热衷于研究各种技术,致力于成为一名有腔调的工程师。
全文阅读:「深度解析Mybatis缓存」
LinkedKeeper 微信公众号欢迎关注“LinkedKeeper”微信公众号。LinkedKeeper是一个致力于打造高品质的技术资源社区。于2013年建站,于2016年1月正式更名为 LinkedKeeper,寓意为,让知识传播,使你我互联。
网友评论