I am still not clear with the answer to the first question. can some one explain. Also, would like to know about Isolation level in JDBC transaction. Any good link explaining all the isolation levels. Thanks,
Class.forName() ensures that the driver you are using is loaded and registered with the JVM. When you are ready to create the actual connection, you will call getConnection() from the DriverManager class: Connection conn = DriverManager.getConnection(connectionString); At that time, the DriverManager class will see if there is a suitable driver registered. There should be since you loaded it with Class.forName().
An egg is a chicken's house!
Joined: Jul 18, 2001
From Javadocs for java.sql.DriverManager: As part of its initialization, the DriverManager class will attempt to load the driver classes referenced in the "jdbc.drivers" system property. This allows a user to customize the JDBC Drivers used by their applications. For example in your ~/.hotjava/properties file you might specify: jdbc.drivers=foo.bah.Driver:wombat.sql.Driver:bad.taste.ourDriver
A program can also explicitly load JDBC drivers at any time. For example, the my.sql.Driver is loaded with the following statement: Class.forName("my.sql.Driver");
Therefore, if you don't want to explicitly use Class.forName() then you can specify the JDBC Driver as a system property called "jdbc.drivers".
Joined: Feb 12, 2004
I did some research on net and found out that the below are same. What do you all think? DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver()); same as Class.forName ("oracle.jdbc.driver.OracleDriver"); Good link for Isolation levels in JDBC. http://otn.oracle.com/oramag/oracle/02-jul/o42special_jdbc.html