1

データベースを処理するJavaコードがあり、アプリケーションでマルチスレッドを使用したい場合。各スレッドは、データベースへの挿入を含む関数を実行することを想定しています。私の質問は次のとおりです。次のステートメントをどこに配置すればよいですか。

Connection con = DriverManager.getConnection (dbUrl);
query = " insert into schema.table values (default,?,?)";   
preparedStmt = con.prepareStatement(query);

runすべてのスレッドがそれらを実行するようにそれらを配置する必要がありますか?またはそのMainため、それらは一度だけ実行されますか?または関数によって呼び出される関数の内部run?マルチスレッドがある場合、データベースに挿入する正しい方法を知る必要があります。ありがとう。

4

1 に答える 1

2

ConnectionPoolの作成を検討し、データベース関連の作業のためにこのプールから接続を取得する必要があります。

次の2つのリンクがあなたの興味を引くかもしれません:

接続プール
ApacheCommonsDBCP

編集 これを指摘してくれた@MJBに感謝します
c3p0はかなり良いもう1つのものです。
BoneCPは別のものです

しかし、結局のところ、簡単なポイントは次のとおりです。接続プールを実装する必要があります。どちらを選択するかは、完全にあなたの決定であり、あなたの要件に基づいています。

于 2012-07-07T16:48:12.540 に答える