该系列文章针对 Mybatis 3.5.1 版本
在上一篇文章中,谈到了 <environment>
标签解析会构建 Environment
对象,Environment
对象中有两个关键属性对象:TransactionFactory
和 DataSource
。
本章重点来讲解一下 DataSource
相关实现类
一、回顾
首先来回顾一下 XMLConfigBuilder
中构建 DataSource
的相关代码,如下图:
通过读取配置文件 <dataSource type="xx"
中的 type 值,该值对应的 TypeAliasRegistry
中 HashMap 的 key值。
通过 key 值获取 class 文件,然后通过反射实例化相关的数据源工厂。
而在 Mybatis 默认的数据源工厂有三个,如下:
-
JndiDataSourceFactory
-
PooledDataSourceFactory
-
UnpooledDataSourceFacto