JDBC数据库连接池
数据库的连接和关闭是很耗费资源的操作,前面介绍的DriverManager方式获取的数据库连接,一个Connection对象就对应了一个物理数据库连接,每次操作都要打开一个连接,使用完关闭,需要使用时又重新连接。这将严重影响系统性能。
为了解决这个问题,JDBC2.0引入了数据库连接池。当程序启动时,系统预先创建一批数据库连接对象,形成一个连接池。当程序请求连接时,不需要重新打开物理数据库连接,而是从连接池中获取一个连接,使用完之后,也不是直接关闭物理数据库连接,而是将这个连接对象再次放入连接池。通过使用连接池,大大提高程序性能。
JDBC提供了连接池接口,即javax.sql.DataSource. 一些商用服务器(例如WebLogic, Websphere)提供了具体实现。另外也有一些开源组织提供了实现,例如DBCP和C3P0)
DBCP数据源
这是apache针对JDBC的DataSource接口的开源实现,Tomcat的连接池就是使用它来实现的。
要使用DBCP,需要在工程类库中加入,commons-dbcp.jar和commons-pool.jar两个包。
典型的用法如,
1 //创建连接池连接对象
2 BasicDataSource ds = newBasicDataSource();3 //连接池的数据库配置信息
4 ds.setDriverClassName("com.mysql.jdbc.Driver");5 ds.setUrl("url=jdbc:mysql://127.0.0.1:3306/dedecms?useUnicode=true&chara