【发布时间】:2013-08-15 01:57:48
【问题描述】:
我一直无法找到这个问题的确切答案。我正在使用 C3P0 的ComboPooledDataSource。以下哪种方法是更好的实践:
dataSource = connectionClass.getDataSource();
conn = dataSource.getConnection;
executeQuery(query1, conn);
executeQuery(query2, conn);
...
executeQuery(finalQuery, conn);
conn.close();
或
executeQuery(query1);
executeQuery(query2);
...
executeQuery(finalQuery);
executeQuery:
conn = dataSource.getConnection;
st = conn.createStatement();
rs = executeQuery(query);
conn.closed();
简而言之,我必须经常进行大量查询。使用第一个设计是否更好,它为每个批次获取一次连接并将其作为参数传递。还是使用第二种方法更好,每次我调用 executeQuery 方法时都获得一个连接。如果我使用DriverManager,我显然会选择第一个(只获得一次连接),但是当使用 C3P0 包时,我不确定这样做是否正确。还是这样的包没关系?
【问题讨论】:
标签: java postgresql jdbc connection-pooling c3p0