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