mybatis
文章平均质量分 86
程序员-阿劲
这个作者很懒,什么都没留下…
展开
-
MyBatis源码解析(二) 一级缓存
简介 MyBatis提供了一级缓存的方案来优化数据库会话之间重复查询的问题,每个SqlSession都有自己的缓存,不同的会话之间的缓存互不影响。在MyBatis框架中一级缓存是通过HashMap实现的,默认作用范围是SqlSession。缓存命中场景 当执行条件完全相同的sql 时,就会命中MyBatis的一级缓存。那么条件完全相同是指那些条件呢?同一个会话参数相同,sql相同Statement相同未手动清空缓存(提交,回滚,update操作),缓存的作用域不是STATEMENT原创 2021-03-11 19:18:44 · 89 阅读 · 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 · 236 阅读 · 2 评论