sql >> データベース >  >> RDS >> Mysql

Class.forName(com.mysql.jdbc.Driver)を呼び出すとMySQL for JDBCが登録されるのはなぜですか?

    クラスをメモリにロードし、クラスの静的初期化子を実行するため、これを登録します。次に、静的初期化コードはJDBCフレームワークを呼び出して、「こんにちは、私はJDBCドライバーです」と言います( DriverManager.registerDriver

    たとえば、ドライバークラスは漠然と このように:

    package com.example.jdbc;
    
    import java.sql.DriverManager;
    
    public class Driver implements java.sql.Driver {
        static {
            DriverManager.registerDriver(new Driver());
        }
    
        // ...implementation...
    }
    

    次に、Class.forName("com.example.jdbc.Driver")を実行すると 、クラスをロードして静的初期化子を実行します。静的初期化子はインスタンスを作成し、それをDriverManagerに登録します。 。

    アンドレアスが言うように 、最新のJDBCドライバーでは、これを行う必要はありません。




    1. ポリゴンのポイントがLatLongの場合、MySQLデータベースのポリゴンの面積を計算するにはどうすればよいですか?

    2. MySQL JOIN複数のテーブル、結果ごとの日時による最後のテーブルの制限

    3. 外部のWebサイト運営者が自分のサイトにリンクするための画像トラックバックを作成する

    4. R12.2オンラインパッチ準備レポート