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

相关推荐
TechWJ17 分钟前
PyPTO编程范式深度解读:让NPU开发像写Python一样简单
开发语言·python·cann·pypto
qq_124987075323 分钟前
基于SSM的动物保护系统的设计与实现(源码+论文+部署+安装)
java·数据库·spring boot·毕业设计·ssm·计算机毕业设计
Coder_Boy_29 分钟前
基于SpringAI的在线考试系统-考试系统开发流程案例
java·数据库·人工智能·spring boot·后端
Mr_sun.29 分钟前
Day06——权限认证-项目集成
java
瑶山32 分钟前
Spring Cloud微服务搭建四、集成RocketMQ消息队列
java·spring cloud·微服务·rocketmq·dashboard
abluckyboy39 分钟前
Java 实现求 n 的 n^n 次方的最后一位数字
java·python·算法
lly20240640 分钟前
C++ 文件和流
开发语言
2301_8187320641 分钟前
前端调用控制层接口,进不去,报错415,类型不匹配
java·spring boot·spring·tomcat·intellij-idea
m0_706653231 小时前
分布式系统安全通信
开发语言·c++·算法
2501_941982051 小时前
深度对比:Java、Go、Python 实现企微外部群推送,哪个效率更高?
java·golang·企业微信