|Home |Login |Registration |Struts Step by Step Tutorial |Hibernate Step by Step Tutorial |Spring Step by Step Tutorial |JSP Step by Step Tutorial |JDBC Step by Step Tutorial |Web Services Step by Step Tutorial |EJB fundamentals | ORACLE Step by Step Tutorial | SCJP 5.0 and SCJP 6.0 Study Guide | SCWCD 5.0 Study Guide | SCJP Tips
Java mock test | SCJP mock test | SCJP DUMP | SCBCD mock test |Java online test exam | 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

Java interview questions | JSP interview questions | ORACLE interview questions | Hibernate interview questions | Servlet interview questions | Struts interview questions | JDBC interview questions | C/C++ interview questions | Spring interview questions | JMS interview questions | Informatica interview questions | EJB interview questions | OOPS and Design Pattern interview questions
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 Jobs

   More Jobs >>

Online Practice Test

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

The information you are posting should be related to java and ORACLE technology. Not political.