开源数据库连接池C3P0,DBCP的使用
2014-08-19 11:25
471 查看
本篇文章主要讲解C3P0、DBCP两个开源数据库连接池的使用,不涉及一些性能方面,我也只是刚刚了解,下面步入正题:
1. DBCP
DBCP是apache的java数据库连接池开源项目,大家可以到apache官网上下载dbcp的jar包,但由于这个dbcp又依赖apache的另外两个组件(pool,collection),共三个jar包
dbcp:http://commons.apache.org/proper/commons-dbcp/download_dbcp.cgi
pool : http://commons.apache.org/proper/commons-pool/download_pool.cgi
collection:http://commons.apache.org/proper/commons-collections/download_collections.cgi
建议大家下载的时候不要下载高版本的,高版本稳定性不太好,差不多兼容jdk1.5以后就行了。
以上三个jar下载好之后导入自己要是用的工程,当然了,如果要链接数据库当然要有数据库的驱动jar包,在工程的根目录下创建一个dbcp.properties的配置文件,我的配
置如下:
2 . 讲讲C3P0的用法,C3P0也是一个开源的项目,现在使用的也很普遍,一些知名的框架中也都用它的连接池,C3P0 jar包:http://sourceforge.net/projects/c3p0/files/
下载过之后,里面有两个jar包,导入到工程即可,首先也要在工程根目录建一个配置文件c3p0.properties,名字起啥都无所谓,内容和上面配置文件内容一样,以下是我的实例代码
1. DBCP
DBCP是apache的java数据库连接池开源项目,大家可以到apache官网上下载dbcp的jar包,但由于这个dbcp又依赖apache的另外两个组件(pool,collection),共三个jar包
dbcp:http://commons.apache.org/proper/commons-dbcp/download_dbcp.cgi
pool : http://commons.apache.org/proper/commons-pool/download_pool.cgi
collection:http://commons.apache.org/proper/commons-collections/download_collections.cgi
建议大家下载的时候不要下载高版本的,高版本稳定性不太好,差不多兼容jdk1.5以后就行了。
以上三个jar下载好之后导入自己要是用的工程,当然了,如果要链接数据库当然要有数据库的驱动jar包,在工程的根目录下创建一个dbcp.properties的配置文件,我的配
置如下:
driverClassName=com.mysql.jdbc.Driver url=jdbc\:mysql\://localhost\:3306/ahpu username=root password=123 defaultAutoCommit=true initialSize=3 maxActive=10 maxIdle=3 minIdle=1 maxWait=-1下面就是编写如何使用dbcp,具体的我不一一说明了,下面是我的java文件,大家自己看吧:
package com.datasource; import java.io.FileInputStream; import java.io.InputStream; import java.sql.Connection; import java.sql.SQLException; import java.util.Properties; import javax.sql.DataSource; import org.apache.commons.dbcp.BasicDataSourceFactory; public class DataSourceManager { private static DataSourceManager instance = new DataSourceManager(); private DataSource pool = null; private DataSourceManager(){ init(); } public void init(){ Properties prop = null; InputStream is = null; try { prop = new Properties(); is = new FileInputStream("dbcp.properties"); prop.load(is); pool = BasicDataSourceFactory.createDataSource(prop); } catch (Exception e) { e.printStackTrace(); } } public static DataSourceManager getInstance(){ return instance; } public Connection getConnection(){ Connection conn = null; try { conn = pool.getConnection(); } catch (SQLException e) { e.printStackTrace(); } System.out.println(conn.getClass()); return conn; } }
2 . 讲讲C3P0的用法,C3P0也是一个开源的项目,现在使用的也很普遍,一些知名的框架中也都用它的连接池,C3P0 jar包:http://sourceforge.net/projects/c3p0/files/
下载过之后,里面有两个jar包,导入到工程即可,首先也要在工程根目录建一个配置文件c3p0.properties,名字起啥都无所谓,内容和上面配置文件内容一样,以下是我的实例代码
package com.datasource; import java.beans.PropertyVetoException; import java.io.FileInputStream; import java.io.InputStream; import java.sql.Connection; import java.sql.SQLException; import java.util.Properties; import com.mchange.v2.c3p0.ComboPooledDataSource; public class DataBaseManager { private static DataBaseManager instance = new DataBaseManager(); private ComboPooledDataSource cpds = null; private DataBaseManager(){ init(); } private void init(){ cpds = new ComboPooledDataSource(); Properties prop = readConfig(); try { cpds.setDriverClass(prop.getProperty("driverClassName")); } catch (PropertyVetoException e) { e.printStackTrace(); } cpds.setUser(prop.getProperty("username")); cpds.setPassword(prop.getProperty("password")); cpds.setJdbcUrl(prop.getProperty("url")); } private Properties readConfig(){ Properties prop = new Properties(); try{ InputStream is = new FileInputStream("c3p0.properties"); prop.load(is); }catch (Exception e) { e.printStackTrace(); } return prop; } public static DataBaseManager getInstance(){ return instance; } public Connection getConnection(){ Connection conn = null; try { conn = cpds.getConnection(); } catch (SQLException e) { e.printStackTrace(); } return conn; } }
相关文章推荐
- 数据库连接池(数据源)2: 开源数据源的使用DBCP和C3P0
- mysql笔记八——开源数据库连接池DBCP和C3P0的使用
- 开源框架数据库连接池dbcp的使用方法
- 数据库连接池c3p0和dbcp中spring中使用的配置
- 数据库连接池 dbcp与c3p0的使用
- 数据库连接池DBCP和C3P0的使用
- c3p0, dbcp 开源的连接池开源连接使用
- 数据库连接池 dbcp与c3p0的使用区别
- 数据库连接池 dbcp与c3p0的使用区别
- 数据库连接池 dbcp与c3p0的使用
- dbcp,c3p0数据库连接池的使用
- 开源数据源的使用(DBCP和C3P0)以及JNDI技术
- 开源JDBC连接池DBCP和C3P0配置小结
- hibernate设置使用C3P0数据库连接池
- DBCP开源数据库连接池的编写源码
- dbcp数据库连接池的使用
- 数据库连接池技术中dbcp、c3p0、jndi
- 数据库连接池技术中dbcp、c3p0、jndi三者的联系
- [J2EE]DBCP、C3P0、Proxool三大连接池的配置参数说明和使用详解
- 数据库连接池技术中dbcp、c3p0、jndi