如何使用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 结婚婚庆祝福语简短