全部放在jdbc.properyies文件中
* ,并且开发者不需要关心DataSource的实现,只需要从工厂类中获取 <功能详细描述>
*
* @see [类、类#方法、类#成员]
*/
@Test
public void test02()
{
Properties properties = new Properties();
InputStream is = null;
BasicDataSource dataSource = null;
Connection conn = null;
try
{
is = getClass().getClassLoader().getResourceAsStream("jdbc.properties");
properties.load(is);
dataSource = (BasicDataSource)BasicDataSourceFactory.createDataSource(properties);
conn = dataSource.getConnection();
//可以直接通过dataSource 获取jdbc.properties中的配置值
System.out.println(dataSource.getMaxActive());
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
if (null != conn)
{
try
{
conn.close();
}
catch (SQLException e)
{
e.printStackTrace();
}
}
if (null != is)
{
try
{
is.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
}
}
C3P0数据源
系统添加c3p0-0.9.1.2.jar
步骤:1:创建c3p0-config.xml 内容如下
scott
tiger
oracle.jdbc.driver.OracleDriver
jdbc:oracle:thin:@localhost:1521:oracl
5
10
5
10
0
5
2:创建ComboPooledDataSource实例,
ComboPooledDataSource cpds = new ComboPooledDataSource("intergalactoApp");
3:获取连接
Connection conn = cpds.getConnection();
?
案例代码 获取连接:
?
/*
* 文件名:C3p0Test.java
* 版权:Copyright by www.huawei.com
* 描述:
* 修改人:Cuigaochong
* 修改时间:2015-8-27
* 跟踪单号:
* 修改单号:
* 修改内容:
*/
package com.jdbc.dbcp;
import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.SQLException;
import org.junit.Test;
import com.mchange.v2.c3p0.ComboPooledDataSource;
/**
* <一句话功能简述> <功能详细描述>
*
* @author 姓名 工号
* @version [版本号, 2015-8-27]
* @see [相关类/方法]
* @since [产品/模块版本]
*/
public class C3p0Test
{
@Test
public void test00()
throws PropertyVetoException, SQLException
{
ComboPooledDataSource cpds = new ComboPooledDataSource();
cpds.setDriverClass("oracle.jdbc.driver.OracleDriver");
cpds.setJdbcUrl("jdbc:oracle:thin:@localhost:1521:oracl");
cpds.setUser("scott");
cpds.setPassword("tiger");
Connection conn = cpds.getConnection();
System.out.println(conn);
}
@Test
public void test01()
throws SQLException
{
// intergalactoApp 为配置文件中的
// 配置文件可以是xml 也可以是properties建议使用xml,xml的命名只能是c3p0-config.xml
ComboPooledDataSource cpds = new ComboPooledDataSource("intergalactoApp");
Connection conn = cpds.getConnection();
System.out.println(conn);
// 获取配置文件中的属性
System.out.println(cpds.getMaxPoolSize());
}
}