我正在使用java操作postgresql数据库。请帮助我选择一个开发实践。
我必须:
哪一种是最佳做法?
发布于 2011-06-07 13:26:33
对一个模糊问题的模糊回答:
而是管理您的JDBC连接。如果打开的连接太多,则必须维护它们,并确保它们已关闭,以便其他连接访问数据库(您可以有一个异常,说明“打开的文件太多”)。连接池维护连接。每个请求有一个连接,一旦完成,就返回到池。
我会这么做:
如果使用Spring,请使用Spring模板。
发布于 2011-06-07 13:19:06
在哪里可以找到好的说明或教程,说明如何将JDBC连接池连接到我的客户机上的Postgres数据库?
http://www.mchange.com/projects/c3p0/index.html
c3p0被设计成使用起来很简单。只需将jar文件lib/c3p0-0.9.0.jar放在应用程序的有效CLASSPATH中,并生成如下DataSource:
import com.mchange.v2.c3p0.*;
...
ComboPooledDataSource cpds = new ComboPooledDataSource();
cpds.setDriverClass( "org.postgresql.Driver" ); //loads the jdbc driver
cpds.setJdbcUrl( "jdbc:postgresql://localhost/testdb" );
cpds.setUser("dbuser");
cpds.setPassword("dbpassword"); 如果要打开PreparedStatement池,还必须设置maxStatements和/或maxStatementsPerConnection(两者都默认为0):
cpds.setMaxStatements( 180 ); 对您的DataSource做您想做的任何事情,它将由一个带有默认参数的连接池来支持。您可以将DataSource绑定到JNDI服务,或者根据您的喜好直接使用它。完成之后,您可以像这样清理您创建的DataSource:
DataSources.destroy( cpds );就这样!其余的都是细节。
发布于 2011-06-07 13:15:59
维护单个连接,甚至更好地使用连接池
https://stackoverflow.com/questions/6265720
复制相似问题