Hibernate Introduction

2



It is a framework of java that contains a set of libraries to provide a secure data access layer.it has complete ORM (Object-relational mapping) to map the complete database table using POJO Classes.
It provides SQL LESS (NoSQL) query to perform a database operation, it provides a persistent object model, criteria, HQL(Hibernate query language) to perform the database-related tasks.
Hibernate provide a strong approach to data communication because we can map complete database structure and relationship using the hibernate framework.
1 ) Create a table, primary key, foreign key, identity using front-end
2) Data insertion, updating, deletion, data selection, join operation, data filtering, table mapping, and table relationship from the application.
Hibernate provides better security as compared to normal SQL queries because it protects from SQL Injection problems.
SQL Injection means hacking the database using  SQL Query parameters. that can be easily managed by normal JDBC.
Hibernate uses JDBC or JNDI or JTA as an intermediate to save object data to the database table.
JNDI (Java naming directory interface)
JTA (Java Transaction API)
JDBC(Java Database Connectivity)
Hibernate Architecture:-




Hibernate uses two different files
1)  Mapping file:  it is used to map the database tables and columns with POJO class property.
its extension will be .hbm.xml
2)  Configuration file:- it is used to contain the driver name, connection string, dialect name, the username of the database, password of the database, and path of the mapping file.
STEP FOR HIBERNATE:-
1   Create  Java Project (Desktop, Web-Based, Enterprise)
2    Add Hibernate JAR File in Project
3    Create a POJO Class for Table Mapping
4    Create a Database using MYSQL or ORACLE or POSTGRESQL or SYBASE or MS-SQL
5     Create hibernate.cfg.xml file
       it provides complete database configuration  in hibernate application
      code of
     <?xml version="1.0" encoding="UTF-8"?>
<!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/hdb</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 resource="hibernate.hbm.xml"></mapping>
</session-factory>
</hibernate-configuration>
6     create hibernate.hbm.xml file
       it provides a complete mapping to hibernate POJO Class with Database Table
     <?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
<class name="scs.Student" table="tbl_Student">

<id name="rno" column="rno">
<generator class="assigned"></generator>
</id>
<property name="sname" />
<property name="branch"/>
<property name="fees" />
</class>
</hibernate-mapping>
7     Write Code For Hibernate Insert Operation

        Configuration cfg = new Configuration("filename");
       SessionFactory sf = cfg.buildSessionFactory();
        Session s = sf.openSession();
       Transaction tx = s.beginTransaction();
        PojoClass obj = new PojoClass();
        obj.datamember1=value
        obj.datamember2=value
        obj.datamember3=value
        s.save(obj);
        tx.commit();
        s.close();
8)    Write Code For Hibernate Select Operation
        package scs;
import java.util.Iterator;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
public class HiberOpertion {
public static void main(String[] args) {
Configuration cfg = new Configuration();
cfg.configure("hibernate.cfg.xml");
SessionFactory sf = cfg.buildSessionFactory();
Session s = sf.openSession();
    Query q = s.createQuery("from Student s");
    List lst = q.list();
    Iterator it = lst.iterator();
    while(it.hasNext())
    {
    Student st = (Student)it.next();
    System.out.println(st.getRno()+" "+st.getSname()+" "+st.getBranch()+" "+st.getFees());
    }
s.close();
}
}
Tags

Post a Comment

2Comments

POST Answer of Questions and ASK to Doubt

Post a Comment