![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mybatis源码解析
Professor麦
做一个不止于技术的博主,文末都有个人分享,欢迎点赞关注
展开
-
总结Mybatis的设计模式
今天特意来了一篇设计模式的实战,跟着源码真正了解设计模式,因为我第一次学习设计模式的时候,都是只知道每一个具体的设计模式的意思,并没有了解到一些框架优秀的设计模式!今天特意写一下这个总结Mybatis框架用到的设计模式SqlSessionFactoryBuilder:为什么要用建造者模式来创建SqlSessionFactory?简单谈谈建造者模式这里主要说说为什么需要建造者模式?建造者模式和工厂模式都是用来创建对象的。平常我们一般创建对象都是直接new,通过构造器或者setter把对象属性.原创 2020-07-21 23:05:12 · 295 阅读 · 0 评论 -
浅谈Mybatis插件机制
哈哈哈,今天又拖更了!!Mybatis插件机制废话不多说,直接进入主题,这个Mybatis插件机制有点像Spring MVC的拦截器,底层的設計模式都是拦截器模式。插件机制原理我们在编写插件时,除了需要让插件类实现 Interceptor 接口,还需要通过注解标注该插件的拦截点。所谓拦截点指的是插件所能拦截的方法,MyBatis 所允许拦截的方法如下:Executor (update, query, flushStatements, commit, rollback, getTransact.原创 2020-07-20 22:45:16 · 266 阅读 · 0 评论 -
浅谈Mybatis内置数据源
Mybatis内置数据源今天的文章稍微没有那么肝,但是还是拖到了晚上!!哈哈哈,其实昨天已经写好了,只不过一直想不到个人唠叨应该写什么,所以就拖了一下。内置数据源初始化过程在详细分析 UnpooledDataSource 和 PooledDataSource 两种数据源实现之前,我们先来了解一下数据源的配置与初始化过程。现在看数据源是如何配置的,如下:<!--使用连接池--><dataSource type="POOLED"> <!--这里会替换为loca原创 2020-07-18 23:03:08 · 709 阅读 · 1 评论 -
剖析Mybatis的SQL执行过程
SQL 执行过程分析今天又来一点硬核的东西,我们一起来看看SQL的执行过程为 Mapper 接口创建代理对象先看看调用栈:// 本质:// MapperProxyFactorypublic T newInstance(SqlSession sqlSession) { /* * 创建 MapperProxy 对象,MapperProxy 实现了 * InvocationHandler 接口,代理逻辑封装在此类中 */ final MapperP原创 2020-07-17 11:26:25 · 318 阅读 · 0 评论 -
深入剖析Mybatis缓存机制
哈哈哈,终于考完试了,用了大概两天时间肝了这篇文章!!!关于今天要讲的mybatis缓存机制,其实之前我已经有看过也用过,只不过平常不太留意,最近在看mybatis源码,就来讲一下这个缓存机制前言 本次分析的代码和数据表在gitee上,地址:https://gitee.com/professor_mai/mybatis_cache_demo 关于这个Mybatis缓存,推荐这篇文章 https://tech.meituan.com/2018/01/19/mybatis-cache.html,.原创 2020-07-16 11:50:05 · 335 阅读 · 0 评论