- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to get the list of all drivers registered with the DriverManager using JDBC?
The java.sql.DriverManager class manages JDBC drivers in your application. This class maintains a list of required drivers and load them whenever it is initialized.
Therefore, you need to register the driver class before using it. However, you need to do it only once per application.
One way to register a driver class object to Driver manager is the registerDriver() method of the DriverManager class. To this method you need to pass the Driver object as a parameter.
//Instantiating a driver class Driver driver = new com.mysql.jdbc.Driver(); //Registering the Driver DriverManager.registerDriver(driver);
List of all the Drivers
You can get the list of all the drivers registered with this DriverManager class using the getDrivers() method of it. This method returns an Enumeration containing the list of drivers.
//Retrieving the list of all the Drivers Enumeration<Driver> e = DriverManager.getDrivers(); //Printing the list while(e.hasMoreElements()) { System.out.println(e.nextElement().getClass()); }
Following JDBC program registers a bunch of JDBC drivers using the registerDriver() method and, displays the list of them using the getDrivers() method.
Example
import java.sql.Driver; import java.sql.DriverManager; import java.util.Enumeration; public class DriversList_DriverManager { public static void main(String args[])throws Exception { //Registering MySQL driver DriverManager.registerDriver(new com.mysql.jdbc.Driver()); //Registering SQLite driver DriverManager.registerDriver(new org.sqlite.JDBC()); //Registering Oracle driver DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); //Registering Derby-client driver DriverManager.registerDriver(new org.apache.derby.jdbc.ClientDriver()); //Registering Derby-autoloaded driver DriverManager.registerDriver(new org.apache.derby.jdbc.AutoloadedDriver()); //Registering HSQLDb-JDBC driver DriverManager.registerDriver(new org.hsqldb.jdbc.JDBCDriver()); 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(); } }
Output
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