我们许多人有的是使用的时应用服务器自带的数据连接池,有的是使用dbcp,c3p0,proxypool等数据库连接池,以前我直接使用hibernate的时候,这些连接池的配置按照hibernate的文档配置没有问题,这段时间配置的是c3p0的JDBC数据库连接池。 多话不说了,代码贴出来,希望对大家有所帮助。
定义一个接口,里面三个抽象方法:
public interface IConnectionProvider {
public void configure(Properties props);
public Connection getConnection() throws SQLException;
public void closeConnection(Connection conn) throws SQLException;
public void close();
}
实现上面的三个接口,进行C3P0配置
public class C3P0ConnectionProvider implements IConnectionProvider {
private DataSource ds;
private static final Log log = LogFactory.getLog(C3P0ConnectionProvider.class);
public void configure(Properties props) {
String jdbcDriverClass = props.getProperty(Constant.JDBC_DRIVER);//JDBC驱动
try {
Class.forName(jdbcDriverClass);
String username = props.getProperty(Constant.JDBC_USERNAME);//jdbc连接用户名
String password = props.getProperty(Constant.JDBC_PASSWORD);//jdbc连接密码
String url = props.getProperty(Constant.JDBC_URL);//jdbc连接url字符串
DataSource ds_unpooled = DataSources.unpooledDataSource(url, username, password);
Properties overrides = new Properties();
String minSize = props.getProperty(Constant.JDBC_MINPOOLSIZE);
if (minSize == null || minSize.length() == 0) {
minSize = "10";
}
String maxSize = props.getProperty(Constant.JDBC_MAXPOOLSIZE);
if (maxSize == null || maxSize.length() == 0) {
maxSize = "30";
}
overrides.put("minPoolSize", Integer.parseInt(minSize));
overrides.put("maxStatements", "200");
overrides.put("maxPoolSize", Integer.parseInt(maxSize));
ds = DataSources.pooledDataSource(ds_unpooled, overrides);
} catch (Exception e) {
log.error("jdbc driver class not found ,the driver class is " + jdbcDriverClass, e);
}
}
public Connection getConnection() throws SQLException {
final Connection conn = ds.getConnection();
return conn;
}
public void closeConnection(Connection conn) throws SQLException {
conn.close();
}
public void close() {
try {
DataSources.destroy(ds);
} catch (SQLException sqle) {
log.warn("could not destroy C3P0 connection pool", sqle);
}
}
}
分享到:
相关推荐
C3P0连接池配置详解C3P0连接池配置详解C3P0连接池配置详解C3P0连接池配置详解
C3P0连接池参数配置
c3p0连接池参数配置
c3p0连接池以及配置文件
c3p0连接池配置, 个人找了很多资料 都在.txt里面,有项目完整配置,解释,还有一些相关网站资料等
c3p0连接池配置使用
c3p0-0.9.2.1.jar&&hibernate-c3p0-4.0.0.Final[1].jar&&mchange-commons-java-0.2.3.4.jar
C3P0数据库连接池jar包和配置文件
( C3P0连接池配置.doc )
DBCP和C3P0连接池常用配置参数一览表DBCP和C3P0连接池常用配置参数一览表DBCP和C3P0连接池常用配置参数一览表
NULL 博文链接:https://weidongke123-126-com.iteye.com/blog/1933894
一个在tomcat中配置c3p0连接池的方法步骤,也通过测试,可以使用。
C3P0连接池参数属性配置中的所有属性以及属性值,初学者值得考虑,高手也可以看看,说不定有你不知道的配置属性~~
一个spring + c3p0 连接池的例子,通过这个例子可以学习简单的spring配置和c3p0连接池的知识
c3p0连接池配制文件..
C3P0连接池参数配置.doc
Hibernate 下配置连接池解决多连接的问题
C3P0:数据库连接池技术 步骤: 1.导入jar包 c3p0-0.9.5.2.jar mchange-commons-java-0.2.12.jar 2.定义配置文件 名称:c3p0.properties 或者 c3p0-config.xml 路径:直接将文件放在src目录下即可 3.创建数据库连接池...
hibernate 配置 C3P0 连接池