数据库连接池c3p0中的方法 public ComboPooledDataSource(java.lang.String configName)参数是什么意思。

我的公司的项目是hibernate框架,在创建new ComboPooledDataSource("???")时 是怎么样和c3p0连接池联系的。c3p0-config.xml是一个单独的文件,在启动项目时会自动读取吗。hibernate.cfg.xml是自动读取的,和它一样吗?

第1个回答  2012-10-25
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<default-config>
<property name="initialPoolSize">10</property>
<property name="maxPoolSize">30</property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/day14</property>
<property name="user">root</property>
<property name="password">root</property>
</default-config>

<named-config name="itcast">
<property name="initialPoolSize">10</property>
<property name="maxPoolSize">30</property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/day14</property>
<property name="user">root</property>
<property name="password">root</property>
</named-config>
</c3p0-config>

这是c3p0的配置文件,其中上面那个config是默认的,下面的是你自己配置的,c3p0有两种创建方式,第一是:无参的,直接new,然后set它的四要素,如:setDriverClass(),setJdbcUrl()等;第二种就是你说的,它的参数就是你配置文件中起的名字,如要用到下面那个,就new ComboPooledDataSource(“itcast”);这种方式下完全不需要你自己读取配置文件。
希望对你有帮助。追问

如果是第一种方法(无参的),也是不需要读取配置文件吗??

追答

ComboPooledDataSource cpds = new ComboPooledDataSource();
cpds.setDriverClass("com.mysql.jdbc.Driver");
cpds.setJdbcUrl("jdbc:mysql://localhost:3306/day14");
cpds.setUser("root");
cpds.setPassword("root");

cpds.setInitialPoolSize(10);
cpds.setMaxPoolSize(30);
恩,你可以直接把配置配进去,但为了保证通用性,也要放在配置文件中,如properties文件中,用properties类和类加载的方式读取!

本回答被提问者和网友采纳
第2个回答  2012-10-25
参数java.lang.String configName 就是c3p0-config.xml的配置内容
也就是读取c3p0连接池 连接的是mysql 还是oracle 数据库的内容
dbcp和 c3p0连接mysql 或是oracle 所用的驱动 ,url ,username,password ,方言等 都不太一样

c3p0连接池在eclipse下怎么用
import java.sql.Connection;import com.mchange.v2.c3p0.ComboPooledDataSource;import com.mchange.v2.c3p0.DataSources;import com.mchange.v2.c3p0.DriverManagerDataSource;public class C3p0Test { \/ param args \/ public static void main(String[] args) throws Exception{ \/\/ TODO Auto-generat...

关于eclipse使用c3p0连接池连接mysql8.0.19配置c3p0-config.xml文件
import com.mchange.v2.c3p0.ComboPooledDataSource;import java.sql.Connection;import java.sql.SQLException;public class C3p0MySQLTest { public static void main(String[] args) { ComboPooledDataSource dataSource = new ComboPooledDataSource();try { dataSource.setDriverClass("com.mysql.cj...

...com.mchange.v2.c3p0.ComboPooledDataSource 启动卡住
如图, 程序启动的时候直接卡在了 Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource 这一句,后面就没日志了。但是稍微看一下jvm状态:可以发现 进程其实是没死的,eden区还在缓慢增长。所以猜测,只是日志没打印出来,导致像卡住了。把日志开到debug级别,再启动:会发现,其实日志...

spring+JPA(hibernate)+c3p0+oracle抛出异常A ResourcePool could...
我猜哦!密码过期不可能,是不是最大连接数超过oracle的限制了啊?你尝试把连接池的maxpoolsize改小点,如果5左右试试!300有点大啊

如何获取到C3P0连接池当前的状态
ComboPooledDataSource ds = new ComboPooledDataSource();System.out.println(ds.getMaxPoolSize());\/\/ 最大连接数 System.out.println(ds.getMinPoolSize());\/\/ 最小连接数 System.out.println(ds.getNumBusyConnections());\/\/ 正在使用连接数 System.out.println(ds.getNumIdleConnections())...

如何使用c3p0+spring连接oracle数据库
使用c3p0+spring连接oracle数据库的方法及配置:1、C3P0数据源与Hibernate一同发布,需要包c3p0-0.9.0.4.jar。C3P0的配置,xml文件片段如下:<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="driverClass" value=" ${driver}"\/...

java 里 ComboPooledDataSource 类是哪个包里的
c3p0里面的,com.mchange.v2.c3p0

用ssh框架做了个小项目,用c3p0做连接池,用的是Mysql 5.1.x ,现问题如 ...
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="driverClass"> <value>${c3p0.driverClass}<\/value> <\/property> <property name="jdbcUrl"> <value>${c3p0.jdbcUrl}<\/value> <\/property> <property name="user"> <...

dbcp、c3p0连接池在spring配置时,要不要配置Template?
<!-- 定义连接池对象 --> <bean id="c3p0DS" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="user" value="system"><\/property> <property name="password" value="Panzi123456"><\/property> <property name="driverClass" value="oracle.jdbc.OracleDriver"><\/property...

...com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement ->...
这好象没错误,只是控制台上显示的初始化c3p0的信息而已

相似回答