如何使用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 送给学长毕业祝福语简短