知优码

您现在的位置是:首页 > 开源项目 > 项目经验

项目经验

java如何在JDBC中建立连接池

2021-01-11项目经验
java如何在JDBC中建立连接池

一、概述

有人可以提供有关如何建立JDBC连接池的示例或链接吗?

我看到这样做的许多不同方式,这相当令人困惑。

最终,我需要代码来返回一个java.sql.Connection对象,但是我在入门时遇到了麻烦。欢迎任何建议。

二、详解

如果您需要一个独立的连接池,那么我首选的是C3P0而不是DBCP(在上一个答复中已经提到),在高负载下,DBCP的问题太多了。使用C3P0非常简单。从文档中:

ComboPooledDataSource cpds = new ComboPooledDataSource();
cpds.setDriverClass( "org.postgresql.Driver" ); //loads the jdbc driver
cpds.setJdbcUrl( "jdbc:postgresql://localhost/testdb" );
cpds.setUser("swaldman");
cpds.setPassword("test-password");

// the settings below are optional -- c3p0 can work with defaults
cpds.setMinPoolSize(5);
cpds.setAcquireIncrement(5);
cpds.setMaxPoolSize(20);

// The DataSource cpds is now a fully configured and usable pooled DataSource 

但是,如果您在应用程序服务器中运行,则建议使用它提供的内置连接池。在这种情况下,您需要对其进行配置(请参阅您的应用程序服务器的文档)并通过JNDI检索数据源:

DataSource ds = (DataSource) new InitialContext().lookup("jdbc/myDS");