如何使用JDBC獲取已註冊到DriverManager的所有驅動程式列表?
java.sql.DriverManager 類管理應用程式中的 JDBC 驅動程式。此類維護所需驅動程式的列表,並在初始化時載入它們。
因此,您需要在使用驅動程式類之前註冊它。但是,您只需要對每個應用程式執行一次此操作。
將驅動程式類物件註冊到驅動程式管理器的一種方法是使用DriverManager類的registerDriver()方法。此方法需要您將 Driver 物件作為引數傳遞。
//Instantiating a driver class Driver driver = new com.mysql.jdbc.Driver(); //Registering the Driver DriverManager.registerDriver(driver);
所有驅動程式的列表
您可以使用DriverManager類的getDrivers()方法獲取已註冊到此DriverManager類中的所有驅動程式的列表。此方法返回一個包含驅動程式列表的 Enumeration。
//Retrieving the list of all the Drivers
Enumeration<Driver> e = DriverManager.getDrivers();
//Printing the list
while(e.hasMoreElements()) {
System.out.println(e.nextElement().getClass());
}以下 JDBC 程式使用registerDriver()方法註冊多個 JDBC 驅動程式,並使用getDrivers()方法顯示它們的列表。
示例
import java.sql.Driver;
import java.sql.DriverManager;
import java.util.Enumeration;
public class DriversList_DriverManager {
public static void main(String args[])throws Exception {
//Registering MySQL driver
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//Registering SQLite driver
DriverManager.registerDriver(new org.sqlite.JDBC());
//Registering Oracle driver
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
//Registering Derby-client driver
DriverManager.registerDriver(new org.apache.derby.jdbc.ClientDriver());
//Registering Derby-autoloaded driver
DriverManager.registerDriver(new org.apache.derby.jdbc.AutoloadedDriver());
//Registering HSQLDb-JDBC driver
DriverManager.registerDriver(new org.hsqldb.jdbc.JDBCDriver());
System.out.println("List of all the Drivers registered with the DriverManager:");
//Retrieving the list of all the Drivers
Enumeration<Driver> e = DriverManager.getDrivers();
//Printing the list
while(e.hasMoreElements()) {
System.out.println(e.nextElement().getClass());
}
System.out.println();
}
}輸出
List of all the Drivers registered with the DriverManager: class org.sqlite.JDBC class org.apache.derby.jdbc.ClientDriver class org.apache.derby.jdbc.AutoloadedDriver class org.hsqldb.jdbc.JDBCDriver class com.mysql.jdbc.Driver class oracle.jdbc.driver.OracleDriver
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP