Hi, I was wondering how JDBC works? Currently, I do 2 things to get a Connection: a. load the driver, i.e. Class.forName(driverName) b. get a connection through a static method in DriverManager, i.e. DriverManager.getConnection(url, user, passwd); In the case, when a few different jdbc drivers are loaded, i.e. we need access through different databases, how does the program arbitrate between which driver class to use? Is it through the url? If so, is it true that when the driver class is loaded it registers the url that it will listen to the system? Thanks!
you are very correct ,class.forname actually register and instantiate the driver class.you can have as much driver as you want.consider it to be a hashtable of drivers.when we give url it goes to check every driver class instance if it identifies the url and on success results the connection.