Steps in MyEclipse 7.0 :
1. Create a Java Project with name : ALab2
2. Select JRE & click on Next.
3. Select Hibernate Core 3.2 & Hibernate Annotations and Entity Manager 3.2 liabraries, & Database liabraries (mysql.jar)
4. Write Hibernate Configuration Document :
hibernate.cfg.xml (com.annotation.persistence)
5. Write Hibernate Annotation Util class :
AHibernateUtil.java (com.annotation.util)
6. Write Persistence Class using annotation :
Customer.java (com.annotation.persistence)
7. Write Hibernate Client class :
Lab2Client.java (com.annotation.persistence)
8. Follow the directory structure as in Image & Run as Java Application.
9. Choose Lab2Client.java from list & Execute.
So, all files, which we need :
1. hibernate.cfg.xml
2. AHibernateUtil.java
3. Customer.java
4. Lab2Client.java
You will get directory structure as following Image :
Codes of ALab2 :
1. hibernate.cfg.xml
<?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="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3333/practice</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">admin</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.hbm2ddl">update</property>
<mapping class="com.annotation.persistence.Customer"/>
</session-factory>
</hibernate-configuration>
2. AHibernateUtil.java
package com.annotation.util;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
public class AHibernateUtil {
static SessionFactory factory;
static{
AnnotationConfiguration acfg = new AnnotationConfiguration();
acfg = (AnnotationConfiguration)acfg.configure();
factory = acfg.buildSessionFactory();
}
public static SessionFactory getSessionFactory(){
return factory;
}
}
3. Customer.java
package com.annotation.persistence;
import javax.persistence.*;
import org.hibernate.annotations.GenericGenerator;
@Entity
@Table(name="cust")
public class Customer {
@Id
@GenericGenerator(name="gg",strategy="increment")
@GeneratedValue(generator="gg")
@Column(name="cid")
private int cid;
@Column(name="cname")
private String cname;
public Customer(){
super();
}
public Customer(String cname){
super();
this.cname=cname;
}
public int getCid(){
return cid;
}
public void setCid(int cid){
this.cid=cid;
}
public String getCname(){
return cname;
}
public void setCname(String cname){
this.cname=cname;
}
public String toString(){
return "Customer[] cid: "+cid+"cname: "+cname;
}
}
4. Lab2Client.java
package com.annotation.persistence;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import com.annotation.util.AHibernateUtil;
public class Lab2Client {
public static void main(String args[]){
Transaction tx = null;
try{
SessionFactory fact = AHibernateUtil.getSessionFactory();
Session session = fact.openSession();
tx = session.beginTransaction();
Customer cust = new Customer("raghava");
Integer in = (Integer)session.save(cust);
int ini = in.intValue();
System.out.println(ini);
tx.commit();
}catch(Exception e){
e.printStackTrace();
if(tx!=null)
tx.rollback();
}
}
}
5. Tables : Same as CLab1
create database practice;
use practice;
create table cust(cid int, cname char(15));
select * from cust;
* You can use any other Port for database.
* You can use another database also, choose DB liabraries based on that.
Result :
It will insert a new row in table 'cust'.


super! easy to understand....
ReplyDelete