![](https://img-blog.csdnimg.cn/c993205d3a1b4082b881d0673aa5bb50.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Mybatis
文章平均质量分 92
一个Mybatis源码学习记录
Integer_Double
这个作者很懒,什么都没留下…
展开
-
mybatis+shardingJdbc实现数据库读写分离和分库分表
一、原理介绍下面这篇讲的很完整就不赘述了MySQL数据库的读写分离、分库分表 二、环境准备2.1 数据库环境读写分离必须依赖数据的主从复制,这篇博客有详细的过程mysql主从安装2.2 开发环境本案例使用springboot2.6.4+mybatis3.6.7+sharding-jdbc4.1.12.2.1 pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.原创 2022-03-10 16:20:16 · 1923 阅读 · 0 评论 -
MyBatis源码学习五——Mybatis与Springboot整合及Mapper的注入过程
Mybatis与Springboot整合及Mapper的注入过程原创 2022-04-12 11:41:54 · 2523 阅读 · 1 评论 -
MyBatis源码学习四——ParameterHandler与ResultSetHandler
文章目录一、ParameterHandler1.1 实例化1.2 参数处理二、ResultSetParameterHandler2.1 实例化2.2 结果集处理一、ParameterHandlerStatementHandler与拦截器上篇讲到,拦截器继续执行,通过invoke,调用被拦截和代理的对象方法(RoutingStatementHandler的prepare方法)再进入 statement = instantiateStatement(connection);–> return co原创 2022-04-01 16:02:35 · 798 阅读 · 0 评论 -
MyBatis源码学习三——StatementHandler与拦截器原理
文章目录一、StatementHandler1.1 RoutingStatementHandler1.2 PreparedStatementHandler二、拦截器2.1 InterceptorChain2.2 Intercepts注解三、PaginationInterceptor一、StatementHandler执行器Executer与缓存上篇讲到一级缓存在BaseExecuter的queryFromDatabase()方法,当没有命中缓存时,从数据库中查询doQuery(ms, parame原创 2022-03-31 10:28:08 · 2936 阅读 · 1 评论 -
MyBatis源码学习二——执行器Executer与缓存
文章目录一、执行器Executer1.1 CachingExecutor二、缓存2.1 二级缓存2.1.1 TransactionalCacheManager2.2 一级缓存2.2.1 关闭一级缓存一、执行器Executer注册及获取Mapper上篇讲到mapperMethod.execute(sqlSession, args);执行真正的sql逻辑;调用result = executeForMany(sqlSession, args);–>result = sqlSession.selectLi原创 2022-03-29 15:24:51 · 886 阅读 · 0 评论 -
MyBatis源码学习一——注册及获取Mapper
文章目录一、搭建环境1.1 pom.xml1.2 BlogMapper.java1.3 BlogMapper.xml1.4 MyBatisDemo.java二、addMapper详细分析2.1 MapperRegistry2.2 MapperProxyFactory三、getMapper详细分析3.1 MapperProxy3.2 MapperMethod一、搭建环境1.1 pom.xml <dependency> <groupId>mysql</原创 2022-03-28 15:33:30 · 1867 阅读 · 0 评论