mybatis 源码分析及一二级缓存

r囧r小猫 2022-12-02 01:21 304阅读 0赞

一级缓存为Sqlsession级别缓存, 默认开启, 使用的是hashMap存储, 每次查询前都会查询是否存在一级缓存,

二级缓存为外部缓存, redis,ehcache等第三方存储, 需要配置才能用。

默认的执行器是simple, 然后在simple的基础上加入了可缓存。

在启动时将配置文件mapping,sql 与dao关联起来. 存入缓存中。

使用hashmap存储, 所以hashmap存在的问题, mybatis也会存在。

通过proxry代理调用方法执行sql.

key为 mapper的包名加方法名加随机数加sql。

value为查询的结果

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Rhbmdfamlhbl9kb25n_size_16_color_FFFFFF_t_70

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Rhbmdfamlhbl9kb25n_size_16_color_FFFFFF_t_70 1

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Rhbmdfamlhbl9kb25n_size_16_color_FFFFFF_t_70 2

源码截图没有完成。。。。。。后面有时间在补

发表评论

表情:
评论列表 (有 0 条评论,304人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Mybatis二级缓存剖析

    ⼆级缓存构建在⼀级缓存之上,在收到查询请求时,MyBatis 首先查询⼆级缓存,若⼆级缓存未命 中,再去查询⼀级缓存,⼀级缓存没有,再查询数据库。 与⼀级缓存不同,⼆级缓存和