
【曳凡】- Mybatis技术栈
文章平均质量分 95
学习Mybatis源码
曳凡
这个作者很懒,什么都没留下…
展开
-
从动态代理到 Mybatis 插件原理
前言Mybatis 可以算是大家日常工作中最常碰到的框架工具了,有了 Mybatis 我们在对数据库操作时不用再像jdbc那样还需要关注如何连接数据,数据获取后连接如何处理等一系列和数据无关的操作。所以笔者这里也算是更加理解了" 一个优秀的框架能够使开发者更加关注于自身的业务逻辑上"这句话的含义。使得 Mybatis 优秀的不仅仅是他的功能上,还体现在他的扩展性上。 Mybatis 提供了一种插件的功能,可以使得 Mybatis添加在ParameterHandler,使得在参数解析后,组成sql前可原创 2021-11-15 16:31:04 · 523 阅读 · 1 评论 -
mybatis源码分析(3)Executor执行器分析
1、执行器介绍mybatis中按照功能区分有三种执行器,分别是SimpleExecutor:每执行一次update或select,就开启一个Statement对象,用完立刻关闭Statement对象。ReuseExecutor:执行update或select,以sql作为key查找Statement对象,存在就使用,不存在就创建,用完后,不关闭Statement对象,而是放置于Map内,供...原创 2020-04-11 14:32:43 · 560 阅读 · 0 评论 -
mybatis源码分析(4)一级缓存和二级缓存详解
文章目录1、mybatis二级缓存1.1、介绍1.2、缓存源码分析1.2.1、CacheKey类分析1.2.2、CachingExecutor中调用TransactionalCache类分析1.3、二级缓存的隔离性分析1.4、TransactionalCacheManager的事务性2、mybatis一级缓存2.1、缓存源码分析2.2、一级缓存的隔离性分析1、mybatis二级缓存1.1、介绍...原创 2020-04-10 18:50:41 · 433 阅读 · 0 评论 -
mybatis源码分析(2) mybatis如何将dao和xml中sql进行绑定
文章目录1、流程分析2、解析xml文件2.1、使用方法2.2、解析xml流程1、流程分析相信大家了解mybatis的话,一定会知道mybatis是一门orm语言,其中最先要了解的当然是mybatis是如何将dao层的接口函数和sql语句进行绑定,从而能够通过调用接口函数来执行相应的sql语句。首先,mybatis是通过动态代理的方式将接口语句和sql进行绑定的,mybatis会自己创建一个动...原创 2020-04-08 18:53:32 · 1573 阅读 · 0 评论 -
mybatis源码分析(1) 如何实现动态代理
文章目录1、mybatis动态代理部分框架2、mybatis动态代理代码实现3、代理方法的注入1、mybatis动态代理部分框架2、mybatis动态代理代码实现我们一般调用时会使用UserDao mapper = session.getMapper(UserDao.class); 因为SqlSesseion为接口,默认的SqlSession结构的实现是DefaultSqlSession...原创 2020-03-20 14:50:28 · 569 阅读 · 0 评论