C3P0
IDEA配置
1.项目根目录下新建lib文件夹,拷贝jar包到文件夹中
2.选中jar包,右键按提示操作
3.添加成功
api
public ComboPooledDataSource()
无参构造使用默认配置(使用xml中default‐config标签中对应的参数)
public ComboPooledDataSource(String configName)
有参构造使用命名配置(configName:xml中配置的名称,使用xml中named‐config标签中对应的参数)
public Connection getConnection() throws SQLException
从连接池中取出一个连接
配置参数
initialPoolSize 初始连接数
maxPoolSize 最大连接数
checkoutTimeout 最大等待时间
maxIdleTime 最大空闲回收时间
配置文件c3p0-config.xml
<c3p0-config>
<!-- 使用默认的配置读取连接池对象 -->
<default-config>
<!-- 连接参数 -->
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/javaee</property>
<property name="user">root</property>
<property name="password">root</property>
<!-- 连接池参数 -->
<property name="initialPoolSize">5</property>
<property name="maxPoolSize">10</property>
<property name="checkoutTimeout">3000</property>
</default-config>
<named-config name="otherc3p0">
<!-- 连接参数 -->
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/javaee</property>
<property name="user">root</property>
<property name="password">root</property>
<!-- 连接池参数 -->
<property name="initialPoolSize">5</property>
<property name="maxPoolSize">8</property>
<property name="checkoutTimeout">1000</property>
</named-config>
</c3p0-config>
使用步骤
-
导入jar包 c3p0-0.9.1.2.jar
-
编写 c3p0-config.xml 配置文件,配置对应参数
-
将配置文件放在src目录下
-
创建连接池对象 ComboPooledDataSource ,使用默认配置或命名配置
-
从连接池中获取连接对象
-
使用连接对象操作数据库
-
关闭资源
注意 : C3P0配置文件名称必须为 c3p0-config.xml C3P0命名配置可以有多个
代码示例
public class 配置文件加载 {
public static void main(String[] args) throws SQLException {
// 方式一: 使用默认配置(default‐config)
// new ComboPooledDataSource();
// ComboPooledDataSource ds = new ComboPooledDataSource();
// 方式二: 使用命名配置(named‐config:配置名)
// new ComboPooledDataSource("配置名");
//方式二使用
ComboPooledDataSource ds = new ComboPooledDataSource("otherc3p0");
Connection connection = ds.getConnection();
System.out.println(connection);
connection.close();
}
}
总结
配置文件名称必须为: c3p0-config.xml ,将配置文件放在src目录下 使用配置文件方式好处:只需要单独修改配置文件,不用修改代码 多个配置的好处:
可以连接不同的数据库:db1,db2
可以使用不同的连接池参数:maxPoolSize
可以连接不同厂商的数据库:Oracle或MySQL