概念:连接池其实就是一个容器,数据库连接池自然就是存放数据库连接的容器了
当系统初始化之后,容器会被创建,随后容器会申请一些连接对象准备待用,用户访问时,使用这些待用对象,用完归还给容器
所有以前没有用连接池,使用XX.close是关闭数据库,现在使用了连接池,使用xx.close是把对象归还给容器
优点:1.节约资源 2.高效
我们看看API中的说法【了解即可】
DataSource接口是由一个驱动程序供应商实施。有三种类型的实现:
1.基本实现生产标准Connection对象2.连接池的实现,产生一个Connection对象将自动参与连接池。此实现与一个中间层连接池管理器一起工作。
3.分布式事务实现--产生Connection对象可用于分布式事务几乎总是参与连接池。此实现与一个中间层事务管理器一起工作,并且几乎总是与一个连接池管理器一起工作。
一般我们不去实现它=-=会有数据库厂商来实现的啦~
1.c3po
2.Druid
C3P0
步骤:
1.导入jar包(两个):c3po-0.9.5.2.jar 和 mchange-commons-java-0.2.12.jar
2.定义配置文件c3po.properties或者c3po.xml,放在src目录下
3.创建核心对象 -- 数据库连接池对象 -- ComboPooleDataSource
4.获取连接 -- getConnection
Druid
步骤
1.导入jar包:druid-1.0.9.jar
2.定义配置文件:properties类型的,可以放在任意目录下
3.加载配置文件
4.获取数据库连接池对象:通过工厂获取 DruidDataSourceFactory
5.获取连接 -- getConnection