如何使用JDBC从驱动程序管理器的驱动程序列表中注销驱动程序?
该java.sql.DriverManager中的类管理应用程序中的JDBC驱动程序。此类维护所需的驱动程序列表,并在初始化时加载它们。
因此,您需要在使用前注册驱动程序类。但是,每个应用程序只需要执行一次。
您可以通过两种方式注册新的Driver类-
使用DriverManager类的registerDriver()方法。对于此方法,您需要将Driver对象作为参数传递。
//InstantiatingaDriverclass Driver driver = new com.mysql.jdbc.Driver(); //RegisteringtheDriver DriverManager.registerDriver(driver);
使用名为Class的类的forName()方法。对于此方法,您需要将驱动程序的名称作为String参数传递。
Class.forName("com.mysql.jdbc.Driver");注销驱动程序
您可以使用其deregisterDriver()方法从DriverManager的列表中删除特定的Driver。
如果通过传递所需的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 {
//InstantiatingaDriverclass
Driver mySQLDriver = new com.mysql.jdbc.Driver();
//RegisteringtheDriver
DriverManager.registerDriver(mySQLDriver);
//Gettingtheconnection
String mysqlUrl = "jdbc:mysql://localhost/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: ");
//RetrievingthelistofalltheDrivers
Enumeration<Driver> e = DriverManager.getDrivers();
//Printingthelist
while(e.hasMoreElements()) {
System.out.println(e.nextElement().getClass());
}
System.out.println();
//De-registeringtheMySQLDriver
DriverManager.deregisterDriver(mySQLDriver);
System.out.println("List of all the Drivers after de-registration:");
e = DriverManager.getDrivers();
//Printingthelist
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
热门推荐
10 高一祝福语简短 励志
11 立秋节气简短祝福语
12 简短公司周年祝福语大全
13 中考感言简短祝福语大全
14 体育老师简短祝福语
15 干杯生日祝福语简短独特
16 特别简短的祝福语老师
17 朋友坐车走了祝福语简短
18 给英雄的祝福语简短