Advanced Java Programming - Old Questions

8. What are the benefits of using JDBC? What is prepared statement?

5 marks | Asked in 2076

Benefits of using JDBC:

  • JDBC enables enterprise applications to continue using existing data even if the data is stored on different database management systems.
  • The combination of the java API and the JDBC API makes the databases transferable from one vendor to another without modifications in the application code.
  • JDBC is usually used to connect a user application to a ‘behind the scenes’ database, no matter of what database management software is used to control the database. In this function, JDBC is cross-platform or platform independent.
  • With JDBC, the complexity of connecting a user program to a ‘behind the scenes’ database is hidden, and makes it easy to deploy and economical to maintain.

Prepared Statement

Prepared Statement  is used to execute parameterized or dynamic SQL queries.

E.g. of parameterized query:

      String sql="insert into emp values(?,?,?)";

As we can see, we are passing parameter (?) for the values. Its value will be set by calling the setter methods of PreparedStatement.

It is preferred when a particular query is to be executed multiple times. We can pass the parameters to SQL query at run time using this interface.

The prepareStatement() method of Connection interface is used to return the object of PreparedStatement. 

PreparedStatement pstmt = conn.prepareStatement(queryString);

Example:

import java.sql.*;  

class InsertPrepared{  

public static void main(String args[]){  

try{  

Class.forName("oracle.jdbc.driver.OracleDriver");  

Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","oracle");  

PreparedStatement stmt=con.prepareStatement("insert into Emp values(?,?)");  

stmt.setInt(1,101); //1 specifies the first parameter in the query  

stmt.setString(2,"Ramesh");  

int i=stmt.executeUpdate();  

System.out.println("No. of rows updated="+i);  

con.close();  

}catch(Exception e){ 

System.out.println(e);

      }  

    }  

}