Hibernate Annotation Example

0

Annotation is used to change the behavior of a class, method, and data member of the class using a predefined attribute.
Without using the hibernate mapping file we can map the database table using an annotation class.
The annotation will be defined under the POJO Class.
@Table:-  this annotation is used to map the database table from class
@Column:-  this annotation is used to map the database table column
@id:-   it is used to define the primary key column of the table
@Entity:-  It is used to provide annotation to implement database schema
if we use the Annotation Mapping class then we will define the mapping class under the hibernate.cfg.xml file
<mapping class="packagename.Pojoclassname" />
All hibernate annotations exist under javax.persistent package. means javax.persistence jar file should be present in your project lib folder.
Step First:-
Create Pojo class with annotation
package scs;
import javax.persistence.*;
@Entity
@Table(name="tbl_student")
public class Student {
@Id
private int rno;
@Column
private String sname;
@Column
private String branch;
@Column
private int fees;
public int getRno() {
return rno;
}
public void setRno(int rno) {
this.rno = rno;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public String getBranch() {
return branch;
}
public void setBranch(String branch) {
this.branch = branch;
}
public int getFees() {
return fees;
}
public void setFees(int fees) {
this.fees = fees;
}
}
Step2nd:-
Create hibernate.cfg.xml file and add POJO class as a mapping file reference
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/java56db</property>
<property name="connection.username">root</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hbm2ddl.auto">update</property>
<property name="show_sql">true</property>
 <mapping class="scs.Student"></mapping>
</session-factory>
</hibernate-configuration>
Step4th:-
Create Datahelper class:-
package dao;
import java.util.List;
import org.hibernate.*;
import org.hibernate.cfg.*;
public class DataHelper {
static SessionFactory sf ;
static Session s ;
public static void connection()
{
Configuration cfg = new Configuration();
cfg.configure("hibernate.cfg.xml");
sf= cfg.buildSessionFactory();
s = sf.openSession();
}
public static List dqlOperation(String query)
{
Query q = s.createQuery(query);
return q.list();
}
public static void dmlOperation(Object c)
{
Transaction tx = s.beginTransaction();
s.save(c);
    tx.commit();    
}
public static void deleteOperation(Object c)
{
Transaction tx = s.beginTransaction();
s.delete(c);
    tx.commit();
   }
public static Object findOperation(Class c,int id)
{
return s.load(c,id);
}
public static void closeConn()
{
s.close();
sf.close();
}
Step3rd:-
Write the code to Insert the record
package scs;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.*;
import dao.DataHelper;
public class InsertRecord {
public static void main(String[] args) {
DataHelper.connection();
Student stu = new Student();
stu.setRno(1007);
stu.setSname("XYZ");
stu.setBranch("IT");
stu.setFees(350000);
DataHelper.dmlOperation(stu);
DataHelper.closeConn();
}
}

Tags

Post a Comment

0Comments

POST Answer of Questions and ASK to Doubt

Post a Comment (0)