Hibernate Prepared Statement

This section contain how prepared statement works in hibernate.

Hibernate Prepared Statement

Hibernate Prepared Statement

This section contain how prepared statement works in hibernate.

Hibernate Prepared Statement :

Prepared statements are pre-compiled SQL statements. PreparedStatement object stores pre compiled SQL statement.
Now you can use this object as many times as you require. In this way you can reduce time of execution by using prepared statement.

Example :

package net.roseindia.main;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import net.roseindia.util.HibernateUtil;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
public class MainClass {
public static void main(String [] args) throws SQLException{
SessionFactory sessionFactory=HibernateUtil.getSessionFactory();
try{
Session session=sessionFactory.openSession();
Connection conn=session.connection();
String sql="SELECT * FROM student WHERE roll_no=?";
PreparedStatement statement=conn.prepareStatement(sql);
statement.setInt(1, 3);
ResultSet rs=statement.executeQuery();
System.out.println("RollNo.\t Name\tCourse");
while(rs.next()){
System.out.print(rs.getString(1));
System.out.print("\t"+rs.getString(2));
System.out.print("\t"+rs.getString(3));
}
}
catch(HibernateException e){
e.printStackTrace();
}
}
}

Description : In this example we are selecting student record of any roll number by using prepared statement.

Create connection as  Connection conn=session.connection();  and write sql query -

String sql="SELECT * FROM student WHERE roll_no=?";

For prepared statement  we use literal  '?' and set that value according to their type.

For example -

PreparedStatement statement=conn.prepareStatement(sql);
statement.setInt(1, 3);

Output :

RollNo.   Name    Course
3         Roxi    unix

Click here to download complete source code