Mybatis中的设计模式

1建造者模式

使用多个简单的对象一步一步构建成一个复杂的对象


SqlSessionFactory的构建过程:

  1. SqlSessionFactoryBuilder调用XmlConfigBuilder读取MybatisMapConfig.xml和*Mapper.xml得到Mybatis运行的核心对象Configuration
  2. 将Configuration作为参数调用build方法得到SqlSessionFactory对象

Mybatis的初始化工作非常复杂,不是只用一个构造函数就能搞定的。所以使用了建造者模式,使用了大量的Builder,进行分层构造,核心对象Configuration使用了XmlConfigBuilder来进行构造

Mybatis中的设计模式

2工厂模式

Mybatis中执行Sql语句、获取Mappers、管理事务的核心接口SqlSession的创建过程使用到了工厂模式。
有一个SqlSessionFactory来负责SqlSession的创建
Mybatis中的设计模式
根据传入参数的不同,调用不同的openSession方法来创建SqlSession对象

3单例模式

4代理模式

5组合模式

6模板方法模式

7适配器模式

8装饰者模式

9迭代器模式