Mybatis
Smallc0de
勤学如春起之苗,不见其增,日有所长;辍学如磨刀之石,不见其损,日有所亏。
展开
-
Mybatis-Spring源码分析(五) MapperMethod和MappedStatement解析
基本上这就是Mybatis-Spring源码的最后一篇了,如果想起来什么再单开博客。比起来Spring源码,Mybatis的确实简单一些,本篇就说一下Mybatis中两个十分重要的类MapperMethod,MappedStatement以及其在Mybatis的流程中的主要作用。原创 2020-10-19 14:53:46 · 4089 阅读 · 0 评论 -
Mybatis-Spring源码分析(四) Mybatis的初始化
当我们使用Mybatis调用Mapper接口中的方法的时候,可以确定Mybatis已经把SQL语句给拿到了,否则后续的步骤就无法进行了。那么Mybatis是在什么时候初始化Mapper并且拿到其中的内容的呢?原创 2020-10-15 18:57:27 · 537 阅读 · 0 评论 -
Mybatis-Spring源码分析(三) 执行SQL导致的血案
上一篇博客主要说了Mybatis的注解是怎么使用代理去调用Mapper接口中的查询方法的。本篇则会侧重讲解调用接口的方法的执行过程。为什么是血案呢,因为Mybatis的一级缓存在Mybatis-Spring中是失效的,虽然笔者之前已经阐述过一级缓存十分的鸡肋,本篇也会源码角度探究一下为什么会导致失效的。原创 2020-10-15 15:35:24 · 462 阅读 · 0 评论 -
Mybatis-Spring源码分析(二) Mapper接口代理的生成
上一篇博客主要说了Mybatis的注解MapperScan是怎么把Mapper接口转换为一个MapperFactoryBean的。本篇则会侧重讲解一个MapperFactoryBean是怎么被动态代理并执行SQL语句的。原创 2020-10-14 18:09:10 · 495 阅读 · 0 评论 -
Mybatis-Spring源码分析(一) MapperScan
说到Mybatis想必大家都很熟悉,作为和Spring结合的非常紧密的一个数据库插件,其提供的便利性非常值得我们去学习。研读Mybatis-Spring的第一步就是要明白Mybatis是怎么把Mapper接口转化为MapperFactoryBean的,如果不了解这一步,基本上读源码也会读的知其然不知所以然。由于网上很多讲解MapperScan注解的都已经过时了,而Mybati-Spring的新版本已经对代码做了重大的修改,所以笔者根据比较新的mybatis-spring:2.0.5版本进行一个重新的解读,和原创 2020-10-14 15:09:17 · 609 阅读 · 0 评论 -
Mybatis在Spring中鸡肋的一级缓存和二级缓存
前言上回研究了下Mybatis的log系统,这次再吐槽一下Mybatis的缓存机制。所谓的缓存机制就是当我们需要去数据库查询一个数据的时候,并不会直接去数据库中查询,而是先去内存中去寻找是否这个数据已经被加载过了。如果加载过了,那么就直接返回内存中的数据。由于不需要数据库的开销这种缓存机制确实能够起到优化系统响应时间的目的,直到遇到了Spring。Spring中失效的一级缓存纯Mybatis的一级缓存确实能够返回内存中的数据,当程序执行第二次,第三次查询的时候应该从内存中直接加载,直观的表现就是无论执原创 2020-09-23 17:49:05 · 1157 阅读 · 0 评论 -
Mybatis日志系统 – 非xml模式的配置和源码探究
这篇文章就是就为了给大家提供一个基于java写法的Mybatis的配置思路,不使用任何的xml配置文件,实现了Spring和Mybatis整合以及Mybatis系统日志打印,并从源码的角度解释下为什么能这么做。原创 2020-09-22 18:40:36 · 402 阅读 · 0 评论