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.
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();
}
}
POST Answer of Questions and ASK to Doubt