Mybatis中的设计模式
1建造者模式
使用多个简单的对象一步一步构建成一个复杂的对象SqlSessionFactory
的构建过程:
- SqlSessionFactoryBuilder调用XmlConfigBuilder读取MybatisMapConfig.xml和*Mapper.xml得到Mybatis运行的核心对象Configuration
- 将Configuration作为参数调用build方法得到SqlSessionFactory对象
Mybatis的初始化工作非常复杂,不是只用一个构造函数就能搞定的。所以使用了建造者模式,使用了大量的Builder,进行分层构造,核心对象Configuration使用了XmlConfigBuilder来进行构造
2工厂模式
Mybatis中执行Sql语句、获取Mappers、管理事务的核心接口SqlSession
的创建过程使用到了工厂模式。
有一个SqlSessionFactory
来负责SqlSession
的创建
根据传入参数的不同,调用不同的openSession
方法来创建SqlSession对象