![](https://img-blog.csdnimg.cn/20210309134653541.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
mybatis源码框架思路分析
文章平均质量分 86
mybatis的思路,设计模式的应用,以及过程思路梳理过程与方法
一只想飞的猪猪
这个作者很懒,什么都没留下…
展开
-
Mybatis 数据访问阶段之源码分析以及插件原理分析
Mybatis 数据访问阶段之源码分析 这是mybatis文章,思路在biding模块分析之后 在了解完成biding模块之后,我们来到了mybatis的核心也就是数据访问的模块 一、Executor 中的模板模式 在了解之前我们先熟悉一下模板模式 : 模板模式:一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定实现;类结构原创 2021-03-11 17:33:50 · 231 阅读 · 0 评论 -
Mybatis源码分析之binding 模块分析
Mybatis源码分析之binding 模块分析为什么使用mapper接口就能对数据库进行访问?一、与Ibatis编程模型的对比?二、对Ibatis进行怎么样封装的?以及核心类1.哪些类是干什么的?在什么地方被加载的 ?总结 为什么使用mapper接口就能对数据库进行访问? 在回答这个问题之前我们先看一下Mybatis编程方式与传统的Ibatis的区别 : @Test // ibatis编程模型 本质分析 public void originalOperation() throws I原创 2021-03-10 16:55:10 · 199 阅读 · 0 评论 -
Mybatis源码分析 反射模块以及设计模式在mybatis中的应用
Mybatis反射模块的解读与分析 在写之前我们先滤清orm查询的大概过程,然后通过每个模块去滤清思路 目录Mybatis反射模块的解读与分析orm框架查询数据过程一 反射模块的大概分析如果我们的相关类如果没有get()set()方法的话我们的Mybatis会把他自动生成**Mybatis大概的执行思路:**二、MyBatis 流程概述建造者模式的理解与使用Demo建造者模式示例:接着说mybatis的流程XMLConfigBuilder的初始化的过程总结 orm框架查询数据过程 提示:以下是本篇原创 2021-03-10 14:09:29 · 169 阅读 · 0 评论 -
mybatisplus 使用Demo大全
mybatisplus 使用实例一些基本的配置与用法一、修改的用法二、查询用法记录2.CRUD的基本操作查询的N种用法更新与删除的N种用法更多的用法总结 一些基本的配置与用法 global-config: db-config: #ID_WORKER是默认的全局主键策略 id-type: ID_WORKER #NOT_NULL:默认,当实体类字段为null时,不引入到where #IGNORED:当实体类字段为null时,仍然引入到where,即whe原创 2021-03-05 11:43:01 · 552 阅读 · 0 评论 -
mybatis缓存模块分析
mybatis缓存模块分析需求分析一、 装饰器模式二、装饰器的简单使用这样我们就可以通过不同的装饰器来使用不同的功能1.接着我们mybatis中用到的装饰器的应用 需求分析 MyBatis 缓存模块需满足如下需求: MyBatis 缓存的实现是基于 Map 的,从缓存里面读写数据是缓存模块的核心基础功能; 除核心功能之外,有很多额外的附加功能,如:防止缓存击穿,添加缓存清空策略(fifo、 lru)、序列化功能、日志能力、定时清空能力等; 附加功能可以以任意的组合附加到核心基础功能之上; 基于 Map原创 2021-03-04 15:29:12 · 231 阅读 · 2 评论 -
Mybatis数据源的创建过程与销毁过程与工厂模式的理解
mybatis数据源的组件类图与简单的理解 数据源对象是比较复杂的对象,其创建过程相对比较复杂,对于 MyBatis 创建一个数据源 具体来讲有如下难点: 常见的数据源组件都实现了 javax.sql.DataSource 接口; MyBatis 不但要能集成第三方的数据源组件,自身也提供了数据源的实现; 一般情况下,数据源的初始化过程参数较多,比较复杂; 综上所述,数据源的创建是一个典型使用工厂模式的场景,实现类图如下所示: DataSource:数据源接口,JDBC 标准规范之一,定义了获取获取原创 2021-03-01 19:11:06 · 310 阅读 · 0 评论 -
Mybatis源码分析,动态代理 增强 debug补充示例图
debug补充示例图 起始debug源码: 首先搞清楚那些地方需要打印日志?通过对日志的观察,如下几个位置需要打日志: 在创建prepareStatement 时,打印执行的 SQL 语句; 访问数据库时,打印参数的类型和值 查询出结构后,打印结果数据条数 因此在日志模块中有 BaseJdbcLogger 、ConnectionLogger 、PreparedStatementLogger ResultSetLogge 通过动态代理负责在不同的位置打印日志;几个相关类的类图如下: BaseJdbcL原创 2021-03-01 17:04:48 · 186 阅读 · 0 评论