| 1600 PMP mock questions | 1400 CAPM mock questions | 800 SCJP 6 mock questions | 600 OCAJP 7 mock questions | 590 OCPJP 7 mock questions | 556 SCWCD 5 mock questions | 500 OCEJWCD 6 mock questions | pdfDownload (java,struts, hibernet etc) | JobsJobs and Walkins |
|
Java online test
JSP online test ORACLE online test Hibernate online test Servlet online test Struts online test EJB online test C online test C++ online test Aptitude online test |
How Class.forName() load the Driver and DriverManager.getConnection() return connection? |
|
|
These are the steps happing inside
Step 1. Class.forName("com.mysql.jdbc.Driver") load the Driver. Step 2. In the com.mysql.jdbc.Driver class there is static bock . That will execute because of static bock. static { try { DriverManager.registerDriver(new Driver()); } catch(SQLException E) { throw new RuntimeException("Can't register driver!"); } } This static block call DriverManager.registerDriver(new Driver()); Step 3. Inside DriverManager.registerDriver() method. public static synchronized void registerDriver(java.sql.Driver driver) throws SQLException { DriverInfo di = new DriverInfo(); di.driver = driver; di.driverClass = driver.getClass(); di.driverClassName = di.driverClass.getName(); drivers.addElement(di); println("registerDriver: " + di); } DriverManager class create a Vector name drivers and add the Driver class to the vector. Now In the Vector we have com.mysql.jdbc.Driver object. Step 4. To get connection we can Connection con = DriverManager.getConnection(?jdbc:mysql://localhost:3306/testDB?,?username?,?password?); In this method , it search the Driver in the vector , if available then connect and return connection. for (int i = 0; i < drivers.size(); i++) { DriverInfo di = (DriverInfo)drivers.elementAt(i); // if ?jdbc:mysql? keywork withic in input , match with the driver in the vector { Connection result = di.driver.connect(url, info); } } Return connection; This class getting jdbc:mysql://localhost:3306/testDB as input . This class check for the driver based on ?jdbc:mysql? in this case and connect the driver. |
Suggested JobsMore Jobs >> |
|
Online Practice TestJava online testJSP online test ORACLE online test Hibernate online test Servlet online test Struts online test EJB online test C online test C++ online test Aptitude online test |