java连数据库和数据库连接池踩坑日记(二)-------数据库连接池c3p0
关于数据库连接池,我觉得有些沮丧,因为最后被毙掉了说不用考虑多线程的问题……
数据库连接池的推荐:https://www.cnblogs.com/nuccch/p/8120349.html
我最终选择的是c3p0,不过找不到最详细的那份教程了,也解决不了如何去掉log4j的warn日志的问题。
断网了,丢记录了不想记录了……
一、配置maven文件
<!-- c3p0连接池 --> <dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <version>0.9.5.2</version> </dependency>
二、配置账号密码信息
我选择的是使用xml配置文件,放在src/main/resources文件夹下面
<c3p0-config> <!-- 默认数据源 --> <default-config> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql://localhost:3306?useSSL=false</property> <property name="user">root</property> <property name="password">123456</property> <property name="minPoolSize">3</property> <property name="maxPoolSize">10</property> <property name="acquireIncrement">5</property> </default-config> <!-- 定义带名称的数据源 --> <named-config name="OracleDataSource"> <property name="driverClass">oracle.jdbc.driver.OracleDriver</property> <property name="jdbcUrl">jdbc:oracle:thin:@oracle的ip地址:端口号:服务名</property> <property name="user">账号</property> <property name="password">密码</property> <property name="minPoolSize">3</property> <property name="maxPoolSize">11</property> <property name="acquireIncrement">5</property> </named-config> </c3p0-config>
三、java中调用
try { private DataSource ds; // ds = new ComboPooledDataSource(); //本地mysql ds = new ComboPooledDataSource("OracleDataSource"); //oracle Connection connection = ds.getConnection(); //得到connection后可进行sql操作了 } catch (SQLException e) { e.printStackTrace(); }
四、多线程调用数据库连接池
当你深入了解,你就会发现世界如此广袤,而你对世界的了解则是如此浅薄,请永远保持谦卑的态度。