1.概述
连接池是一个用于存储连接的容器,可以减少获取连接所需要的时间。
容器就是一个集合对象,该集合必须是线程安全的,不能两个线程拿到同一连接。
该集合还必须实现队列的特性:先进先出。
2.mybatis中的连接池
mybatis连接池提供了3中方式的配置:
配置的位置:
主配置文件SqlMapConfig.xml中的dataSource标签,type属性就是表示采用何种连接池方式。
type属性的取值:
POOLED 采用传统的javax.sql.DataSource规范中的连接池,mybatis中有针对性规范的实现。
从池中获取一个连接来用。
先进先出调度算法。
UNPOOLED 采用传统的获取连接的方式,虽然也实现Javax.sql.DataSource接口,但是并没有使用池的思想。
每次创建一个新的连接来用。
JNDI 采用服务器提供的JNDI技术实现,来获取DataSource对象,不同的服务器所能拿到DataSource是不一样的。
注意:如果不是web或者maven的war工程是不能使用的。