如何使用 JDBC 從驅動程式管理器驅動程式列表中登出驅動程式?
java.sql.DriverManager 類在您的應用程式中管理 JDBC 驅動程式。此類維護所需驅動程式的列表,並在初始化時載入它們。
因此,您需要在使用驅動程式類之前註冊它。但是,您只需要在每個應用程式中執行一次。
您可以透過兩種方式註冊新的 Driver 類:
- 使用 DriverManager 類的 registerDriver() 方法。為此方法,您需要將 Driver 物件作為引數傳遞。
//Instantiating a driver class Driver driver = new com.mysql.jdbc.Driver(); //Registering the Driver DriverManager.registerDriver(driver);
- 使用名為 Class 的類的 forName() 方法。為此方法,您需要將 Driver 的名稱作為 String 引數傳遞。
Class.forName("com.mysql.jdbc.Driver");登出驅動程式
您可以使用 DriverManager 的 deregisterDriver() 方法從其列表中刪除特定的驅動程式。
如果您透過所需的 Driver 類物件呼叫此方法,則 DriverManager 會簡單地將其列表中指定的驅動程式刪除。
DriverManager.deregisterDriver(mySQLDriver);
以下 JDBC 程式建立與 MySQL 資料庫的連線,顯示所有已註冊到 DriverManager 類的驅動程式,登出 MySQL 驅動程式,並再次顯示列表。
示例
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.util.Enumeration;
public class DeRegistering_Driver {
public static void main(String args[])throws Exception {
//Instantiating a Driver class
Driver mySQLDriver = new com.mysql.jdbc.Driver();
//Registering the Driver
DriverManager.registerDriver(mySQLDriver);
//Getting the connection
String mysqlUrl = "jdbc:mysql:///sampledatabase";
Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
System.out.println("Connection established....... ");
System.out.println();
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();
//De-registering the MySQL Driver
DriverManager.deregisterDriver(mySQLDriver);
System.out.println("List of all the Drivers after de-registration:");
e = DriverManager.getDrivers();
//Printing the list
while(e.hasMoreElements()) {
System.out.println(e.nextElement().getClass());
}
System.out.println();
}
}由於我們已從 DriverManager 的列表中刪除了驅動程式,因此您在第二次檢視列表時將找不到 MySQL 驅動程式的名稱。
輸出
Connection established....... List of all the Drivers registered with the DriverManager: class oracle.jdbc.OracleDriver class org.sqlite.JDBC class org.apache.derby.jdbc.AutoloadedDriver class org.apache.derby.jdbc.ClientDriver class org.hsqldb.jdbc.JDBCDriver class net.ucanaccess.jdbc.UcanaccessDriver class com.mysql.jdbc.Driver List of all the Drivers after de-registration: class oracle.jdbc.OracleDriver class org.sqlite.JDBC class org.apache.derby.jdbc.AutoloadedDriver class org.apache.derby.jdbc.ClientDriver class org.hsqldb.jdbc.JDBCDriver class net.ucanaccess.jdbc.UcanaccessDriver
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP