注:本篇笔记用于初步记录,而后再进行详细整理
这个包整体是一个工厂模式,所处理的产品就是datasource,mybatis中可以使用三种类型的数据源(http://mybatis.github.io/mybatis-3/configuration.html#environments):UNPOOLED 、POOLED、JNDI 。但在这个包中只有两个具体的产品:UnpooledDataSource、PooledDataSourceFactory。因为Jndi类型的数据源是在配置文件中配置好的,使用时只需要执行如下的代码:
Context ic = new InitialContext(); DataSource source = (DataSource)ic.lookup("java:comp/env/jdbc/books");
即可获取到数据源。
这个包中有一个抽象工厂DataSourceFactory,尽管Jndi类型的数据库没有具体的产品类对应,但仍然有具体的工厂类:UnpooledDataSourceFactory、PooledDataSourceFactory和JndiDataSourceFactory。
当然这个包中不只是几个工厂类和产品类,还有相对应的一些辅助类。