JDBCドライバを登録する3つの方法

3564 ワード


1. Class.forName("com.mysql.jdbc.Driver");//データベースドライバのロード
Javaコード
  •  Class.forName("com.mysql.jdbc.Driver");//データベースドライバ
  • のロード
  •  String url="jdbc:mysql://localhost:3306/databasename";//データベース接続サブプロトコル
  •  Connection conn=DriverManager.getConnection(url,"username","password");  
  •  Class.forName("com.mysql.jdbc.Driver");//        String url="jdbc:mysql://localhost:3306/databasename";//         Connection conn=DriverManager.getConnection(url,"username","password");

    この方式はパラメータが文字列であるため,修正が容易で移植性が強い.
    最も一般的な登録方法であり、推奨方法でもあります.
    2. new com.mysql.jdbc.Driver() ;//driverオブジェクトの作成、データベースドライバのロード
    Javaコード
  • new com.mysql.jdbc.Driver();//driverオブジェクトを作成し、データベースドライバ
  • をロード
  •  String url="jdbc:mysql://localhost:3306/databasename";//データベース接続サブプロトコル
  •  Connection conn=DriverManager.getConnection(url,"username","password");  
  • new com.mysql.jdbc.Driver();//  driver  ,        String url="jdbc:mysql://localhost:3306/databasename";//         Connection conn=DriverManager.getConnection(url,"username","password");

    ここではDriverManagerと書く必要はありませんregisterDriver(new com.mysql.jdbc.Driver()はcom.mysql.jdbc.Driverクラスの静的コード快里はすでに修正の操作を行いました
    Javaコード
  • static {   
  •         try {   
  •             java.sql.DriverManager.registerDriver(new Driver());   
  •         } catch (SQLException E) {   
  •             throw new RuntimeException("Can't register driver!");   
  •         }   
  •     }   
  •   
  • static { try { java.sql.DriverManager.registerDriver(new Driver()); } catch (SQLException E) { throw new RuntimeException("Can't register driver!"); } } 

    new com.mysql.jdbc.Driver()は、クラスのインスタンスを作成する必要があることを知っています.クラスのインスタンスを作成するにはjavaファイルでクラスをimportでインポートする必要があります.そうしないと、プログラムがコンパイル時にドライバクラスパッケージから離れず、他のデータベースに切り替えるのが面倒になります.
    3.System.setProperty("jdbc.drivers","com.mysql.jdbc.Driver");
     
  • System.setProperty("jdbc.driver","com.mysql.jdbc.Driver");//システム属性指定データベースドライバ
  • String url="jdbc:mysql://localhost:3306/databasename";//データベース接続サブプロトコル
  • Connection conn=DriverManager.getConnection(url,"username","password");  
  • System.setProperty("jdbc.driver","com.mysql.jdbc.Driver");//            String url="jdbc:mysql://localhost:3306/databasename";//         Connection conn=DriverManager.getConnection(url,"username","password");

    複数のjdbcドライバを同時にインポートできます.
    例えばシステムsetProperty("jdbc.drivers","XXXDriver:XXXDriver:XXXDriver");
    これにより、3つのデータベースドライバが一度に登録されます.
    まとめ:1と2の2つの方法をお勧めします.理由:3コンパイル時に対応するlibをインポートする必要があります.1,2は必要ありません.