首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
mybatis源码深度解析
阿劲
创建于2021-08-25
订阅专栏
深入探析MyBatis底层源码,理解MyBatis运行机制
等 2 人订阅
共4篇文章
创建于2021-08-25
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
MyBatis源码解析(四)二级缓存
二级缓存是应用级缓存,与一级缓存不同的是它的作用范围是整个应用,可以跨线程使用。 二级缓存的原理和一级缓存的原理相同,第一个查询会将数据放入到缓存中,然后第二个查询直接查缓存,多个SqlSession可以在映射器中共享二级缓存。如果两个映射器的名称空间相同,那么这两个映…
MyBatis源码解析(三)缓存责任链
二级缓存是应用级缓存,与一级缓存不同的是它的作用范围是整个应用,可以跨线程使用。二级缓存是存储在MapperStatement的成员变量Cache中。 同时在Mapper.xml文件中配置cache,就可以开启二级缓存了。 映射语句文件中的所有 select语句的结果将会被缓存…
MyBatis源码解析(二) 一级缓存
MyBatis提供了一级缓存的方案来优化数据库会话之间重复查询的问题,每个SqlSession都有自己的缓存,不同的会话之间的缓存互不影响。在MyBatis框架中一级缓存是通过HashMap实现的,默认作用范围是SqlSession。 当执行条件完全相同的sql 时,就…
MyBatis源码解析(一) Executor执行器
setFetchSize:设置从数据库每次读取的数量单位。该举措是为了防止一次性从数据库加载数据过多,导致内存溢出。 SqlSession 是MyBatis的门面(采用门面模式设计),核心作用是为用户提供API。API包括增、删、改、查以及提交、关闭等。其自身是没有能力处理这些…