![](https://img-blog.csdnimg.cn/20210724161454886.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
mybatis
文章平均质量分 94
深度分析mybatis实现原理
$码出未来
~~~
展开
-
mybatis源码解析之插件模块
原创不易,转载请注明出处文章目录前言1.mybatis执行流程回顾2.插件使用2.1 wrap对象介绍2.2 插件编码2.3 执行3.源码剖析总结前言本文主要介绍下关于mybatis插件这块的知识,包括插件使用,源码剖析等等,在mybatis执行流程中,Executor,StatementHandler,ResultSetHandler,ParameterHandler这四个组件起着至关重要的作用,mybatis的插件正好能够作用在这个四个组件上,起到拦截增强的作用,使得执行流程更加灵活,扩展性.原创 2021-08-08 12:33:26 · 227 阅读 · 0 评论 -
mybatis源码解析之日志模块
原创不易,转载请注明出处文章目录前言1.mybatis日志接口定义2.mybatis是怎样适配各种各样的日志框架的2.1 LogFactory 日志工厂2. 适配slf4j日志框架总结前言本文主要介绍了mybatis的日志模块,看看它是怎样与市面上各种各样的日志框架集成适配的,现在市面上的日志框架有很多,像log4j,log4j2,logback,slf4j,还有jdk自己带的日志模块,mybatis在编写框架打印日志的时候并没有指定使用某款日志框架,比如说我看你logback这个日志框架顺眼,.原创 2021-07-31 18:45:15 · 341 阅读 · 0 评论 -
springboot+mybatis多数据源配置(亲测)
原创不易,转载请注明出处文章目录前言1.maven依赖2.配置文件3.配置类4.测试4.1 准备-数据库4.2 准备-实体4.3 准备-dao、mapper xml文件4.4 准备-测试service、controller4.5 测试前言主要是记录下springboot+mybatis+druid 配置多数据源,话不多说,直接开干。1.maven依赖我这边用的springboot版本是2.5.2<dependency> <groupId>org.springf.原创 2021-07-30 00:08:02 · 2574 阅读 · 0 评论 -
mybatis源码解析之调用流程(执行sql)
原创不易,转载请注明出处文章目录前言1. 承接上文2.创建statementHandler2.1.创建ParameterHandler2.2.创建ResultSetHandler3.创建statement,设置参数3.1.获取连接3.2 创建Statement3.3.设置参数4.执行sql,处理结果集4.1 执行update、insert、delete语句,并处理结果4.2 执行select语句,处理结果集总结前言前面几篇文章我们介绍了调用流程中的缓存,包括一级缓存《mybatis源码解析之调用.原创 2021-07-29 22:57:33 · 177 阅读 · 0 评论 -
mybatis源码解析之调用流程(二级缓存)
原创不易,转载请注明出处文章目录前言1. 入口2.二级缓存总结前言在《mybatis源码解析之调用流程(一级缓存)》一文中,我们介绍了一级缓存的原理,由于一级缓存是namespace级别甚至namespace共享级别的缓存,又加上现在服务都是多节点集群部署,容易出现数据一致性问题,所以一般情况我们不会用到,默认它是关闭的,本文将接着mybatis调用流程往下介绍,看看mybatis二级缓存是什么样子的,实现原理。1. 入口在CachingExecutor 的query 方法中,如果你开启了一.原创 2021-07-27 21:46:28 · 158 阅读 · 0 评论 -
mybatis源码解析之调用流程(一级缓存)
原创不易转载请注明出处文章目录前言1.一级缓存前言在《mybatis源码解析之调用流程(初探SqlSession创建)》一文中我们介绍完了SqlSession的创建,本文接着往下看看SqlSession是怎样执行的,看看mybatis一级缓存与二级缓存的执行原理。1.一级缓存上文中我们获取到了SqlSession,接下来就是执行了 // 获取sqlSessionSqlSession sqlSession = getSqlSession(SqlSessionTemplate.this.s.原创 2021-07-26 23:20:54 · 186 阅读 · 0 评论 -
mybatis源码解析之调用流程(初探SqlSession创建)
原创不易,转载请注明出处文章目录前言1. 代理类调用入口2. SqlSession创建总结前言我们都知道,在mybatis中,我们写的mapper接口,mybatis在初始化的时候会为其创建动态代理实现类,然后我们在service中调用dao操作mysql,其实都是调用的mybatis为我们创建的动态代理实现类,同时,我们在《mybatis执行原理精讲》一文介绍执行原理的时候,曾说到这个动态代理实现类会调用SqlSession执行我们的sql,接下来我们要探索下dao代理类是怎样找到sqlSes.原创 2021-07-25 23:54:16 · 360 阅读 · 1 评论 -
mybatis源码解析之初始化(解析mapper文件)
原创不易,转载请注明出处文章目录前言1.入口引导2. 解析mapper标签3.解析cache-ref标签4.解析cache标签5.解析parameterMap标签6.解析resultMap标签7.解析sql标签8.解析insert|update|delete|select 标签总结前言我们在介绍springboot与mybatis整合原理的时候,说过spring自动装配mybatis的时候会干三件事,创建SqlSessionFactory ,创建SqlSessionTemplate对象和扫描ma.原创 2021-07-25 12:38:27 · 560 阅读 · 1 评论 -
springboot+mybatis+druid整合笔记
原创不易,转载请注明出处文章目录1.创建springboot项目2.整合mybatis与druid2.1依赖2.2 配置3.写一个demo试试3.1 表结构与实体3.2 mapper.xml编写3.3 dao编写3.4 service与controller编写3.4 测试1.创建springboot项目创建springboot项目不用多说,一般就用idea自带的spring initializer创建,当然你也可以去start.spring.io spring官网创建好,将项目下载下来导入到i.原创 2021-07-24 00:38:02 · 228 阅读 · 1 评论 -
mybatis执行原理精讲
原创不易,转载请注明出处文章目录前言白话mybatismybatis执行流程介绍核心组件介绍总结前言本文主要是介绍下java 持久层框架mybatis核心执行原理,首先是介绍下mybatis,就是白话下,唠唠嗑,在就是通过一张mybatis执行流程图来介绍下它的核心执行流程,最后就是对它的几个核心组件进行介绍了。白话mybatismybatis想必搞java 开发的同学都知道吧,一款java 轻量级持久层框架,它主要的作用就是封装jdbc,简化了我们对jdbc的使用流程,自从用了mybati.原创 2021-07-22 22:22:45 · 517 阅读 · 2 评论 -
springboot整合mybatis原理分析
原创不易,转载请注明出处文章目录前言1.SqlSessionFactory创建分析2.SqlSessionTemplate创建分析3.mapper接口扫描分析总结前言我们在《mybatis执行原理精讲》一文中,介绍到springboot整合mybatis启动流程,初始化过程,基本就是干了三件事,一是创建SqlSessionFactory,创建SqlSessionFactory的过程中解析配置文件,mapper xml文件到congfiguration中,二是创建一个SqlSessionTempl.原创 2021-07-24 16:05:25 · 926 阅读 · 2 评论