mybatis 源码分析及一二级缓存
一级缓存为Sqlsession级别缓存, 默认开启, 使用的是hashMap存储, 每次查询前都会查询是否存在一级缓存,
二级缓存为外部缓存, redis,ehcache等第三方存储, 需要配置才能用。
默认的执行器是simple, 然后在simple的基础上加入了可缓存。
在启动时将配置文件mapping,sql 与dao关联起来. 存入缓存中。
使用hashmap存储, 所以hashmap存在的问题, mybatis也会存在。
通过proxry代理调用方法执行sql.
key为 mapper的包名加方法名加随机数加sql。
value为查询的结果
源码截图没有完成。。。。。。后面有时间在补
还没有评论,来说两句吧...