Skip to main content

Q) Develop a JDBC application that connects to any kind of database using any driver without changing the source code



A)
->in order to achieve driver vendor independency and database vendor independency we should not hard code driver class name, connection string, user name and password in the application.
->we have to take a separate properties file. In this text file we specify database connection details. From JDBC program we read this file programmatically, if driver changes or database changes or user name or password changes we need to change the properties file, but not the JDBC application source code.

->db.properties
->it is notepad file filename is db and extension is properties.

Driver=sun.jdbc.odbc.JdbcOdbcDriver
url=jdbc:odbc:mydsn
user=scott
password=tiger.

//Genericconnection.java
importjava.sql.DriverManager;
import java.sql.Connection;
importjava.io.FileInputStream;
importjava.util.Properties;

class Genericconnection {

       public static void main(String[] args) throws Exception {
              Properties p= new Properties();
              FileInputStream fis= new FileInputStream("db.properties");//opening the file
              p.load(fis);//transaction file connected into object.2
              String driver=p.getProperty("Driver");
              String cs=p.getProperty("url");
              String user=p.getProperty("user");
              String pwd=p.getProperty("password");
              Class.forName(driver);
              Connection con=DriverManager.getConnection(cs,user,pwd);
              System.out.println("connected");
              con.close();//closing the dbconnection.
              fis.close();//closing the properties file.
       }

}

Comments

Popular posts from this blog

Q) What is JDBC driver? What is its role in java database connection?

A) ->A translation software written in java according o JDBC specification is nothing but “JDBC driver”. -> JDBC driver implements JDBC API. Use single API. JDBC driver role: They are 4 roles   1)       Establishing connection between JDBC client and database server. 2)       Receiving JDBC method calls made by JDBC client while performing database (CRUD) operations. 3)       Translating java method calls into DBMS understandable calls and forwarding them to database server. 4)       Receiving the results from database server. Translating them into java format and handling over the same to the JDBC client.

Q) What is ODBC?

A) ->open database connectivity is a technology from MS that enables any language program (other than java) to communication with database Management System. ->in java program ODBC is directly not allowed for the fallowing reasons 1) OS dependency 2) Procedural oriented approach 3) Security thread

Q) Retrieving data from database?

A)   ->to retrieve the data from database we need to submit SELECT statement from JDBC application. -> executeQuery() method of statement object is used for this purpose. This method has the fallowing ResultSet executeQuery(String sql) throws SQLException Ex: ResultSet rs = st.executeQuery(“SELECT * FROM ACCOUNT”); ->objectoriented representation of tables formate data is called ResultSet object. Ao the driver created one object i.e. ResultSet object. ->object orientation representation of a table of records returned from db is nothing but “ ResultSet ” object.