30 天消化 MyBatis 源码解析笔记,吊打面试官,offer 接到手软
分析映射文件解析的过程。与配置文件不同,映射文件用于配置 SQL 语句,字段映射关系等。映射文件中包含"、、、 < sql> 等二级节点,这些节点将在接下来内容中进行分析
**目录
**
内容展示
四、SQL 执流程
对 MyBatis 执行 SQL 的过程进 行较为详尽的分析。该过程比较复杂,涉及的技术点很多。包括但不限于以下技术点:
1. 为 mapper 接口生成实现类
2. 根据配置信息生成 SQL,并将运行时参数设置到 SQL 中
3. 一二级缓存的实现
4. 插件机制
5. 数据库连接的获取与管理
6. 查询结果的处理,以及延迟加载等
如果大家能掌握上面的技术点,那么对 MyBatis 的原理将会有很深入的理解。
目录
[图片上传失败…(image-1145d7-1613998846588)]
内容展示
五、内置数据源
MyBatis 支持三种数据源配 置,分别为 UNPOOLED、POOLED 和 JNDI。并提供了两种数据源实现,分别是 UnpooledDataSource 和 PooledDataSource 。 在这三种数据源配置中, UNPOOLED 和 POOLED 是我们最常用的两种配置,这两种数据源也是本章要重点分析的对象。至于 JNDI, MyBatis 提供这种数据源的目的是为了让其能够运行在 EJB 或应用服务器等容器中
目录
内容展示
六、缓存机制
在 Web 应用中,缓存是必不可少的组件。通常我们都会用 Redis 或 memcached 等缓 存中间件,拦截大量奔向数据库的请求,以减轻数据库压力。作为一个重要的组件,MyBatis 自然也在内部提供了相应的支持。通过在框架层面增加缓存功能,可减轻数据库的压力,同 时又可以提升查询速度,可谓一举两得。MyBatis 缓存结构由一级缓存和二级缓存构成,这 两级缓存均是使用 Cache 接口的实现类。因此本章将首先会向大家介绍 Cache 几种实现类 的源码,然后再分析一级和二级缓存的实现。
目录
七、插件机制
评论