JavaWeb C3P0数据源——通过配置文件创建数据源对象

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_40788630/article/details/84716609

在JDBC基本操作中,每次操作数据库都需要创建和断开一次Connection对象,

但是如果访问操作十分频繁的话,就会十分影响访问数据库的问题,想要解决这个问题就需要使用数据库连接池,

C3P0是现在很流行的开源数据库连接池,

下面是一个通过配置文件创建数据源对象

1、创建配置文件

在eclipse中创建一个名为web-chapter10的web项目,并在其src中创建配置文件c3p0-config.xml

代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
	<default-config>
		<property name="driverClass">com.mysql.jdbc.Driver</property>
		<property name="jdbcUrl">
     		jdbc:mysql://localhost:3306/jdbc
     	</property>
		<property name="user">root</property>
		<property name="password">itcast</property>
		<property name="checkoutTimeout">30000</property>
		<property name="initialPoolSize">10</property>
		<property name="maxIdleTime">30</property>
		<property name="maxPoolSize">100</property>
		<property name="minPoolSize">10</property>
		<property name="maxStatements">200</property>
	</default-config> 
	<named-config name="itcast">
		<property name="driverClass">com.mysql.jdbc.Driver</property>
		<property name="jdbcUrl">
           	jdbc:mysql://localhost:3306/jdbc
        </property>
		<property name="user">root</property>
		<property name="password">itcast</property>
		<property name="initialPoolSize">5</property>
		<property name="maxPoolSize">15</property>
	</named-config>
</c3p0-config>

其中default-config是指默认配置,named-config是自定义配置

2、导入jar包

3、创建测试类

在src下创建cn.itcast.chapter10.example包,并在包中创建Example1类,代码如下:

 package cn.itcast.chapter10.example;
 import java.sql.SQLException;
 import javax.sql.DataSource;
 import com.mchange.v2.c3p0.ComboPooledDataSource;
 public class Example04 {
 	public static DataSource ds = null;
 	// 初始化C3P0数据源
 	static {
 		// 使用c3p0-config.xml配置文件中的named-config节点中name属性的值
 		ComboPooledDataSource cpds = new ComboPooledDataSource("itcast");
 		ds = cpds;
 	}
 	public static void main(String[] args) throws SQLException {
 		System.out.println(ds.getConnection());
 	}
 }

4,测试

运行类中的main方法,得到如下:

至此使用配置文件连接C3P0数据源的实验就完成了

猜你喜欢

转载自blog.csdn.net/qq_40788630/article/details/84716609