mbatis应用到的设计模式

**Builder:**SqlSessionFactoryBuilder、XMLConfigBuiler、Environment

**工厂方法:**SqlSessionFactory、TransactionFactory、LogFactory

**单例:**ErrorContext、LogFactory

**代理:**mybatis核心,MapperProxy、ConnectionLogger使用JDK动态代理,excutor.loader包使用了cglib

**组合:**sqlNode和各个子类ChooseSqlNode

**模板方法:**BaseExecutor和SimpleExecutor,还有BaseTypeHandler和所有的子类,例如:IntegerTypeHandler

**适配器:**例如Log的mybatis接口和它对jdbc、log4j等各种日志框架的适配实现

**装饰者:**例如Cache包中的cache.decorators子包中各个装饰者的实现

**迭代器:**PropertyTokenizer

相关推荐
鲨鱼辣钊15 分钟前
【FastAPI筑基-Day19】APScheduler定时任务全实战|自动执行、动态启停、后台常驻
java·spring·fastapi
不正经学生2 小时前
C语言预处理详解:编译器真正动手之前的那些事
c语言·开发语言·算法·面试·bug
门思科技2 小时前
LoRaWAN 设备类别:Class A、B、C 对比与选型指南
c语言·开发语言·php
恋恋西风5 小时前
C++ 理解 std::thread 在单核和多核上的行为差异
开发语言·c++
学长毕业设计5 小时前
基于SpringBoot的公益基金管理系统(源码+文档+讲解视频)
java·spring boot·后端
Brilliantwxx5 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
东小西5 小时前
【SAA实战】第 3 篇 · 工具调用全攻略:把业务能力交给 Agent 自己调度
java·后端·spring
东小西5 小时前
【SAA实战】第 4 篇 · Agent 短期记忆:saver 让 Agent 跨轮记得住(threadId 隔离)
java·后端·spring
许彰午5 小时前
22-DataCenter报文序列化
java·低代码·架构·状态模式
2601_962065255 小时前
[MySQL] SQL优化之性能分析
java·sql·mysql