1、连接池:
我们在实际开发中都会使用连接池。
因为它可以减少我们获取连接所消耗的时间。
2、mybatis中的连接池
在 Mybatis 中也有连接池技术,但是它采用的是自己的连接池技术。
在 Mybatis 的 SqlMapConfig.xml 配置文件中,通过来实 现 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 类来表示 UNPOOLED 、 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 在初始化时,根据 的 type 属性来创建相应类型的的数据源 DataSource ,即:
type=”POOLED” : MyBatis 会创建 PooledDataSource 实例
type=”UNPOOLED” : MyBatis 会创建 UnpooledDataSource 实例
type=”JNDI” : MyBatis 会从 JNDI 服务上查找 DataSource 实例,然后返回使用