1、C3P0连接池的使用,首先引入 C3P0 连接池所依赖的 jar 包,基于 Maven 的工程请添加如下依赖,非 Maven 工程请下载相关 jar 包加入到工程类路径下。<dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId> <version>0.9.1.2</version></dependency>
2、编写配置文件,C3P0 默认配置文件是工程类路径下的 c3p0-config.xml ,你也可以通过设置系统属性 com.mchange.v2.c3p0.cfg.xml 的值来指定具体配置文件的路径信息。图示,配置文件内容及相关配置项的注释信息。
3、C3P0重点配置项解析:<property name="checkoutTimeout">1000</property>该配置项的含义是,当连接池连接用完时客户端调用getConnection()后等待获取新连接的时间(单位毫秒),超时后将抛出 SQLException,默认为0,代表无限期等待。对于这种阻塞式的配置项,建议一定设置阻塞等待的超时时间,否则系统会因为某一模块的数据库异常,而导致所有服务线程无限阻塞在获取连接上,进而导致系统服务崩溃。
4、C3P0连接池测试1. 图1示,通过使用C3P0提供的连接池类 ComboPooledDataSource 构建一个获取和关闭数据库连接的工具类2. 图2示,编写测试代码,从上述工具类中获取数据库连接,打印该连接对应的代理类名称,并关闭连接