MyBatis的数据源—DataSourceFactory

一 DataSource

 在数据持久层中,数据源是一个非常重要的组件,其性能直接关系整个数据持久层的性能。常见的第三方数据源组件有DBCP,C3P0,Proxool等。MyBatis 不仅可以集成第三方数据源组件,还提供自己的数据源实现。

  MyBatis 使用不同的DataSourceFactory 接口实现创建不同类型的DataSource。

DataSourceFactory 类图如下

174633_PhQH_3218528.png

 

DataSourceFactory 接口扮演抽象工厂角色,UnpooledDataSourceFactory 和 PooledDataSourceFactory则扮演具体工厂角色。

DataSourceFactory 的源码如下

package org.apache.ibatis.datasource;

import java.util.Properties;
import javax.sql.DataSource;

/**
 * @author Clinton Begin
 */
public interface DataSourceFactory {
  // 设置dataSource 的相关属性
  void setProperties(Properties props);
  // 获取DataSource 对象
  DataSource getDataSource();

}

看一下 UnpooledDataSourceFactory  

181100_ZVdN_3218528.png

 

181134_fzI5_3218528.png

 

通过工厂方式获取数据源对象

// 通过工厂方式 获取  UnpooledDataSource 对象
DataSourceFactory unpooledDataSourceFactory = new UnpooledDataSourceFactory();
DataSource unpooledDataSource = unpooledDataSourceFactory.getDataSource();

// 通过工厂方式 获取 PooledDataSource 对象
DataSourceFactory pooledDataSourceFactory = new PooledDataSourceFactory();
DataSource pooledDataSource = pooledDataSourceFactory.getDataSource();

转载于:https://my.oschina.net/u/3218528/blog/1613698

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值