c3p0连接池
---------------//硬编码方式 -------------------
@Test
public void test(){
try {
ComboPooledDataSource dataSource=new ComboPooledDataSource();
dataSource.setInitialPoolSize(3); //初始化连接数
dataSource.setMaxPoolSize(6); //最大连接数
dataSource.setMaxIdleTime(3000); //最大空闲时间
dataSource.setDriverClass("com.mysql.jdbd.Driver");//驱动
dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/day15");//数据库连接地址
dataSource.setUser("root");//用户名
dataSource.setPassword("root");//用户密码
} catch (PropertyVetoException e) {
e.printStackTrace();
}
}
---------------配置文件方式-------------推荐这种
//xml配置文件方式
@Test
public void test1(){
ComboPooledDataSource dataSource=new ComboPooledDataSource();
//会自动加载src路径下的配置文件 文件名必须 c3p0-config.xml
---------------当c3p0-config.xml有多个数据源 可使用有参构造函数new ComboPooledDataSource("数据源名称");
}
---------------xml文件----------------
<?xml version="1.0" encoding="utf-8"?>
<c3p0-config>
<named-config name="mysql">
<property name="user">root</property>
<property name="password">java</property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/day15</property>
<property name="initialPoolSize">10</property>
<property name="maxIdleTime">30</property>
<property name="maxPoolSize">100</property>
<property name="minPoolSize">10</property>
</named-config>
<named-config name="oracle">
<property name="user">root</property>
<property name="password">root</property>
<property name="driverClass">oracle.jdbc.driver.OracleDriver</property>
<property name="jdbcUrl">jdbc:oracle:thin:@127.0.0.1:1521:orcl</property>
<!-- 连接池初始化时建立的连接数 默认值是3 -->
<property name="initialPoolSize">3</property>
<!-- 连接的最大空闲时间 单位秒 默认是0-代表永远不会断开连接 超过设定时间的空闲连接将会断开 -->
<property name="maxIdleTime">30</property>
<!-- 连接池中拥有的最大连接数 默认值为15个 -->
<property name="maxPoolSize">20</property>
<!-- 连接池中保持的最小连接数 默认值为3个-->
<property name="minPoolSize">3</property>
<!-- 将连接池的连接数保持在minpoolsize 必须小于maxIdleTime设置 默认值为0代表不处理 单位秒 -->
<property name="maxIdleTimeExcessConnections">15</property>
</named-config>
</c3p0-config>