2011-10-19 14 views
0

Class.forName( "...")関数を使用して、接続を開始するたびにderbyドライバをロードする必要があるかどうかは疑問です。私は私のプログラムの主な機能でこれをロードすることができ、プログラムが終了するまでラムに残っていますか?Java DB Derbyドライバのロード

答えて

2

はい、JDBCドライバを使用する前に、どのメソッド/クラスにもロードできます。 static blockを使用してデータベースドライバをロードすることもできます。

public class Test 
{ 
    static 
    { 
     //load driver here 
    } 
} 
+0

私の質問は:それは必須ですか?私はそれがロードを実行するのが遅くなると確信しています... – SBSTP

+0

あなたは 'once'をロードするだけで、静的ブロックがあなたをそこに連れてきます。可能であれば、 'DriverManager'を使う方が良いでしょう。 –

1

あなたがダービーhere are the instructions on how to acquire a Database connection組み込みを使用している場合。

Driverは、メインメソッドのstaticブロックに、またはアプリケーションサーバーを使用している場合はJNDIのルックアップに一度だけロードする必要があります。全く異なるストーリーです。どちらの方法でも、すべての接続で再利用できます。

ネットワークバージョンis a completely different storyを使用しています。 JVM埋め込みモードの制限を回避するには、これが唯一の方法です。

関連する問題