この質問に対する正確な答えを見つけることができませんでした。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();
要するに、かなりの量のクエリを頻繁に実行する必要があります。バッチごとに 1 回接続を取得し、それを引数として渡す最初の設計を使用することをお勧めします。それとも、2 番目のアプローチを使用して、executeQuery メソッドを呼び出すたびに接続を取得する方がよいでしょうか。私が使用していた場合DriverManager
は、明らかに最初の方法を選択します (接続を 1 回だけ取得します) が、C3P0 パッケージを使用する場合、それが正しい方法であるかどうかはわかりません。それとも、そのようなパッケージでは問題ありませんか?