mybatis
文章平均质量分 86
程序员-阿劲
这个作者很懒,什么都没留下…
展开
-
MyBatis源码解析(二) 一级缓存
简介 MyBatis提供了一级缓存的方案来优化数据库会话之间重复查询的问题,每个SqlSession都有自己的缓存,不同的会话之间的缓存互不影响。在MyBatis框架中一级缓存是通过HashMap实现的,默认作用范围是SqlSession。 缓存命中场景 当执行条件完全相同的sql 时,就会命中MyBatis的一级缓存。那么条件完全相同是指那些条件呢? 同一个会话 参数相同,sql相同 Statement相同 未手动清空缓存(提交,回滚,update操作), 缓存的作用域不是STATEMENT原创 2021-03-11 19:18:44 · 120 阅读 · 0 评论 -
MyBatis源码解析(一) Executor执行器
JDBC执行过程 MyBatis的底层是JDBC实现的,首选回顾JDBC的执行过程 注:新版本的JDBC提供了SPI,不需要显示的注册驱动,因此注册驱动这一步可以省略 代码示例 /** 注册数据库驱动 - 省略 **/ // Class.forName("com.mysql.jdbc.Driver"); /** 第一步: 获取连接 */ Connection connection = DriverManager .getConnection(URL, USERNA原创 2021-03-11 19:12:31 · 268 阅读 · 2 评论