如何使用 JDBC 获取使用 DriverManager 注册的所有驱动程序的列表?
jdbcobject oriented programmingprogramming更新于 2025/4/27 3:52:17
java.sql.DriverManager 类管理应用程序中的 JDBC 驱动程序。此类维护所需驱动程序的列表,并在初始化时加载它们。
因此,您需要在使用驱动程序类之前注册它。但是,每个应用程序只需执行一次。
将驱动程序类对象注册到驱动程序管理器的一种方法是 DriverManager 类的 registerDriver() 方法。您需要将 Driver 对象作为参数传递给此方法。
//实例化驱动程序类 Driver driver = new com.mysql.jdbc.Driver(); //注册驱动程序 DriverManager.registerDriver(driver);
所有驱动程序的列表
您可以使用该 DriverManager 类的 getDrivers() 方法获取已注册到该类的所有驱动程序的列表。此方法返回一个包含驱动程序列表的枚举。
//检索所有驱动程序的列表
Enumeration<Driver> e = DriverManager.getDrivers();
//打印列表
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 {
//注册 MySQL 驱动程序
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//注册 SQLite 驱动程序
DriverManager.registerDriver(new org.sqlite.JDBC());
//注册 Oracle 驱动程序
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
//注册 Derby 客户端驱动程序
DriverManager.registerDriver(new org.apache.derby.jdbc.ClientDriver());
//注册 Derby 自动加载驱动程序
DriverManager.registerDriver(new org.apache.derby.jdbc.AutoloadedDriver());
//注册 HSQLDb-JDBC 驱动程序
DriverManager.registerDriver(new org.hsqldb.jdbc.JDBCDriver());
System.out.println("使用 DriverManager 注册的所有驱动程序的列表:");
//检索所有驱动程序的列表
Enumeration<Driver> e = DriverManager.getDrivers();
//打印列表
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

