ホームページ >データベース >mysql チュートリアル >Class.forName(JDBC_DRIVER) は本当に Java 6 以降廃止されたのでしょうか?
Class.forName(JDBC_DRIVER) Java 6 では不要
この記事では、JDBC ドライバーの登録の必要性の排除について説明しています。 Java 6 以降では、Class.forName(JDBC_DRIVER) を使用しています。この仮定は、 DriverManager は、システム プロパティ "jdbc.drivers" に基づいて適切なドライバーを見つけます。
ただし、System.getProperty("jdbc.drivers") の値を出力すると null が返されるため、ユーザーはアプリケーションがなぜそうなるのか困惑することになります。
回答
見かけの機能「jdbc.drivers」システム プロパティがないにもかかわらず、アプリケーションの動作はこのプロパティとは関係ありません。 Java 6 では、サービス プロバイダーの概念が導入されました。これにより、JVM は起動時に既知のインターフェイスの実装を自動的に検出できるようになります。
このメカニズムに準拠する JDBC ドライバーは DriverManager によって自動的に登録されるため、Class.forName() は不要になります。 。ただし、これはドライバーがサービス プロバイダーの登録をサポートしている場合にのみ適用されます。
サービスの登録を開始するには、ドライバーの JAR ファイルの META-INF ディレクトリ内に「services」という名前のディレクトリを含める必要があります。このディレクトリには、JDBC ドライバーの実装クラスを指定する「java.sql.Driver」という名前のテキスト ファイルが含まれている必要があります。
以上がClass.forName(JDBC_DRIVER) は本当に Java 6 以降廃止されたのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。