Mybatis 连接池POOLED

1、连接池:
    我们在实际开发中都会使用连接池。
    因为它可以减少我们获取连接所消耗的时间。
2、mybatis中的连接池
在 Mybatis 中也有连接池技术,但是它采用的是自己的连接池技术。
在 Mybatis 的 SqlMapConfig.xml 配置文件中,通过<dataSource type=”pooled”>来实 现 Mybatis 中连接池的配置。
    mybatis连接池提供了3种方式的配置:
        配置的位置:
            主配置文件SqlMapConfig.xml中的dataSource标签,type属性就是表示采用何种连接池方式。
        type属性的取值:
            POOLED     采用传统的javax.sql.DataSource规范中的连接池,mybatis中有针对规范的实现
            UNPOOLED 采用传统的获取连接的方式,虽然也实现Javax.sql.DataSource接口,但是并没有使用池的思想。
            JNDI     采用服务器提供的JNDI技术实现,来获取DataSource对象,不同的服务器所能拿到DataSource是不一样。
                 注意:如果不是web或者maven的war工程,是不能使用的。
                 我们课程中使用的是tomcat服务器,采用连接池就是dbcp连接池。 

相应地,MyBatis 内部分别定义了实现了 java.sql.DataSource 接口的 UnpooledDataSource
PooledDataSource 类来表示 UNPOOLEDPOOLED 类型的数据源。
Mybatis 连接池POOLED
 
我们的数据源配置就是在 SqlMapConfig.xml 文件中,具体配置如下:
<!-- 配置数据源(连接池)信息 -->
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
MyBatis 在初始化时,根据<dataSource>type 属性来创建相应类型的的数据源 DataSource,即:
type=”POOLED”MyBatis 会创建 PooledDataSource 实例
type=”UNPOOLED” MyBatis 会创建 UnpooledDataSource 实例
type=”JNDI”MyBatis 会从 JNDI 服务上查找 DataSource 实例,然后返回使用

Mybatis 连接池POOLED 

 
Mybatis 连接池POOLED
 

Mybatis 连接池POOLED