![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mybatis
文章平均质量分 96
Mybatis
祖母绿宝石
程序员
展开
-
利刃出鞘,Mybatis初始化
文章目录一、前言二、MyBatis的初始化做了什么2.1 Mybatis的初始化过程就是加载自己运行时所需要的配置信息的过程2.2 Mybatis的配置信息有哪些2.3 mybatis-config.xml与Configuration类2.4 MyBatis初始化的两种方式三、MyBatis基于XML配置文件创建Configuration对象的过程3.1 定位到Mybatis初始化的关键一句3.2 MyBatis初始化基本过程3.2.1 Mybatis初始化时序图3.2.2 Mybatis初始化四步骤3.2原创 2021-10-08 07:45:03 · 1818 阅读 · 5 评论 -
探囊取物,取出MyBatis内部事务
文章目录一、前言二、事务概要2.1 从数据库事务到Mybatis事务2.2 Mybatis事务的两种形式三、事务的创建3.1 mybatis-config.xml配置3.2 创建事务工厂3.2.1 parse()3.2.2 parseConfiguration()3.2.3 environmentsElement()3.2.4 transactionManagerElement()3.3 创建事务Transaction四、JdbcTransaction源码解析4.1 commit()+rollback()+原创 2021-10-09 19:27:59 · 756 阅读 · 0 评论 -
两级缓存,像子弹一样飞…
文章目录一、前言二、MyBatis缓存总述三、Mybatis一级缓存3.1 一级缓存3.2 SqlSession中的一级缓存组织结构3.3 一级缓存的生命周期3.4 SqlSession一级缓存的工作流程(构建cacheKey+根据cacheKey查询,已完成)3.5 一级缓存底层设计3.5.1 CacheKey的两个作用3.5.2 CacheKey如何确定?怎样判断某两次查询是完全相同的查询?3.5.3 CacheKey的构建算法(BaseExecutor类中的createCacheKey()方法)3.5原创 2021-10-08 19:37:13 · 1489 阅读 · 5 评论 -
加速,从数据源到连接池…
文章目录一、前言二、数据源2.1 MyBatis三种数据源2.2 Mybatis初始化时创建数据源工厂和数据源2.3 DataSource延迟到执行SQL语句的时候才创建Connection对象三、连接池3.1 不使用连接池:UnpooledDataSource时序图3.2 不使用连接池:每次新建一个Connection代价太大3.3 使用连接池:PooledDataSource类减少创建Connection的消耗3.3.1 idleConnections和activeConnections3.3.2 使用原创 2021-10-10 08:13:21 · 277 阅读 · 0 评论 -
沿着哈勃望远,看清MyBatis整体架构
文章目录一、前言二、MyBatis四层架构2.1 接口层2.1.1 MyBatis使用Statement ID与数据库交互2.1.2 Mybatis使用Mapper接口与数据库交互2.2 数据处理层2.2.1 参数映射2.2.2 动态SQL语句生成2.2.3 SQL语句的执行2.2.4 结果处理2.3 框架支撑层2.3.1 事务管理机制2.3.2 连接池管理机制2.3.3 缓存机制2.3.4 SQL语句的配置方式2.4 引导层三、MyBatis的主要构件及其相互关系四、从MyBatis一次select 查询原创 2021-10-07 10:19:36 · 3473 阅读 · 7 评论