【0 添加好c3p0必须的jar文件】
【0 准备条件 mysql中有数据库jdbc和数据库jdbcdemo】
【数据库jdbcdemo】
表名:account
字段名参数:
name varchar(20)
salary double;
具体参数:
a 1000
b 2000
【数据库jdbc】
表名:account
字段名参数:
name varchar(20)
salary double;
具体参数:
aa 100
bb 200
【0 准备 c3p0-config.xml】
com.mysql.jdbc.Driver
jdbc:mysql:///jdbcdemo?characterEncoding=utf-8
root
root
com.mysql.jdbc.Driver
jdbc:mysql:///jdbc?characterEncoding=utf-8
root
root
【1 创建一个类连个测试方法来测试 C3p0Test.java】
package com.flying.datesource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import org.junit.Test;
import com.flying.jdbc.JdbcUtils;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class C3p0Test {
//查询数据库中的默认的jdbcdemo数据库
//下面使用配置文件c3p0-config.xml中默认的数据库(jdbcdemo)
@Test
public void testC3p0_1() {
Connection con=null;
PreparedStatement pt=null;
ResultSet rt =null;
try {
//默认的数据库,这里不需要参数,c3p0可以自动读取配置文件中的默认的数据库
ComboPooledDataSource cpds = new ComboPooledDataSource();
con = cpds.getConnection();
//此查询语句中的参数一定要和数据库中的表的字段名(列名)相同(name)
String sql="select * from account where name='a'";
pt = con.prepareStatement(sql);
rt = pt.executeQuery();
if (rt.next()) {
System.out.println(rt.getString(1)+"-"+rt.getDouble(2));
}
} catch (Exception e) {
e.printStackTrace();
}finally{
JdbcUtils.release(con, pt, rt);
}
}
//查询数据库中指定的jdbc数据库
//下面使用配置文件c3p0-config.xml中的jdbc数据库
@Test
public void testC3p0_2() {
Connection con=null;
PreparedStatement pt=null;
ResultSet rt =null;
try {
//指定的数据库,需要参数(数据库名),c3p0才可以读取配置文件中的指定的数据库
ComboPooledDataSource cpds = new ComboPooledDataSource("jdbc");
con = cpds.getConnection();
//此查询语句中的参数一定要和数据库中的表的字段名(列名)相同(name)
String sql="select * from account where name='aa'";
pt = con.prepareStatement(sql);
rt = pt.executeQuery();
if (rt.next()) {
System.out.println(rt.getString(1)+"-"+rt.getDouble(2));
}
} catch (Exception e) {
e.printStackTrace();
}finally{
JdbcUtils.release(con, pt, rt);
}
}
}
【测试结果】
分别可以查询出来两个数据库中的参数
testC3p0_1()
a-1000.0
testC3p0_2()
aa-100.0
【C3P0总结】
手动配置方式:
初始化C3P0的数据源,通过数据源的set方法,设置数据库连接信息。
Properties配置文件方式:
在src下创建一个properties文件,使用key和value的格式设置数据库的连接信息,最后通过java代码来读取properties文件中的数据并设置的数据源的set方法中。
c3p0-config.xml配置方式:
这种配置方式,其文件名称必须是c3p0-config.xml,在该xml中即可以配置默认的数据库连接,还可以配置自定义的数据库连接,在使用的时候,如果是使用默认的数据库连接,只需要初始化c3p0的数据源即可,如果要使用自定义的数据库连接,只需要在初始化c3po数据源的时候,传递一个参数,该参数就是配置文件中的自定义数据库的名称即可。