有人可以提供有关如何建立JDBC连接池的示例或链接吗?
从搜索谷歌,我看到这样做的许多不同方式,这相当令人困惑。
最终,我需要代码来返回一个java.sql.Connection对象,但是我在入门时遇到了麻烦。欢迎任何建议。
java.sql.Connection
更新: 没有javax.sql或java.sql没有池连接实现?为什么不最好使用这些?
javax.sql
java.sql
如果你需要一个独立的连接池,那么我首选的是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");