Class.forNameメソッドが静的ブロックを初期化することがわかりました。JDBCのClass.forName()メソッドは何ですか?
Class.forName("com.mysql.jdbc.Driver").newInstance();
このメソッドを呼び出す必要はありません。しかし、人々は常にjdbc 4.0バージョンの後でもこのメソッドを使用します。私の質問は、jdbc 4.0を使用している場合、なぜこのメソッドを使用する必要があるのですか? JDBC 4.0以降のClass.forName()メソッドは何ですか?
これは私のコード例です。私はライブラリにmysql-connector.jarを追加するだけです。このコードを実行すると完全に動作します。
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306","root","root");
Statement stmt = con.createStatement();
System.out.println("Created DB Connection....");
コードをコピーするだけの人。あなたがそれを必要としないと思うなら、それなしであなたのコードを試してください。 –
"jdbc 4.0で実行する必要はありません"とまったく同じです。これは余分なことを何もしないことを意味し、あなたはそれを呼び出す必要はありません。なぜ人々はまだそれを行うのですか?習慣、無知、「安全のため」(jdbc 4.0より前に配備されているそのコードの可能性があります)。あなたは上記のいずれかを選ぶことができ、それぞれは誰かに適用されます。 –
ドライバクラスがシステムクラスパス上になく、コンテキストクラスパス(driver.jarがWebアプリケーションWARの一部である場合のみ)の場合のみ、 'Class.forName'を使用してドライバをロードする必要があります。 –