我一直无法找到这个问题的确切答案。我正在使用 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 包时,我不确定这样做是否是正确的方法。或者这样的包裹没关系?