HIbernate - JSP/Servlet Simple Example
hibernate-configuration file is as Following
This example is using annotated entity classes that genarated from eclipse.So no need to write xml mapping files for each entity.
jdbc:derby://localhost:1527/catalogueDB;create=true
org.apache.derby.jdbc.ClientDriver
app
app
thread
org.hibernate.dialect.DerbyDialect
create
org.hibernate.cache.NoCacheProvider
true
org.hibernate.transaction.JDBCTransactionFactory
package com.snk.model;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.GeneratedValue;
// Generated May 30, 2009 6:49:31 AM by Hibernate Tools 3.2.4.GA
/**
* This class contains the course details.
*
*/
@Entity
public class Course implements java.io.Serializable {
@Id
@GeneratedValue
private long courseId;
@Column
private String courseName;
public Course() {
}
public Course(String courseName) {
this.courseName = courseName;
}
public long getCourseId() {
return this.courseId;
}
public void setCourseId(long courseId) {
this.courseId = courseId;
}
public String getCourseName() {
return this.courseName;
}
public void setCourseName(String courseName) {
this.courseName = courseName;
}
}
package com.snk.frontend;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.snk.controler.ServiceLocator;
import com.snk.model.Course;
/**
* Servlet implementation class View
*/
/**
* @author Administrator
*
*/
public class View extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public View() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out=response.getWriter();
out.println("sanka do get");
doPorocess(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out=response.getWriter();
out.println("sanka do post");
doPorocess(request, response);
}
protected void doPorocess(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out=response.getWriter();
ServiceLocator obj = new ServiceLocator();
out.println("Before Insert three records\n");
Long courseId1 = obj.saveCourse("Physics");
Long courseId2 = obj.saveCourse("Chemistry");
Long courseId3 = obj.saveCourse("Maths");
showCourse(obj.listCourse(),out);
out.println("End of Insert three records\n\n\n\n");
obj.updateCourse(courseId3, "Mathematics");
showCourse(obj.listCourse(),out);
out.println("End of update three records\n\n\n\n");
obj.deleteCourse(courseId2);
out.println("End of delete chemistry records\n\n\n\n");
showCourse(obj.listCourse(),out);
}
private void showCourse(List courses,PrintWriter out)
{
for (Iterator iterator = courses.iterator(); iterator.hasNext();)
{
Course course = (Course) iterator.next();
out.println("Cource name : "+course.getCourseName());
}
}
}
package com.snk.controler;
import java.util.List;
import java.util.Iterator;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.snk.model.Course;
import com.snk.util.HibernateUtil;
public class ServiceLocator {
public Long saveCourse(String courseName)
{
Session session = HibernateUtil.getSessionFactory().openSession();
Transaction transaction = null;
Long courseId = null;
try {
transaction = session.beginTransaction();
Course course = new Course();
course.setCourseName(courseName);
courseId = (Long) session.save(course);
transaction.commit();
} catch (HibernateException e) {
transaction.rollback();
e.printStackTrace();
} finally {
session.close();
}
return courseId;
/* //Following Are the code in JPA for insert query
EntityManagerFactory emf=Persistence.createEntityManagerFactory("hibernate-servlet");
EntityManager em=emf.createEntityManager();
Course course = new Course();
course.setCourseName(courseName);
course.setCourseId(200);
Long courseId = 200L;
em.persist(course);
System.out.println("Afetr Save");*/
}
public ListlistCourse()
{
Session session = HibernateUtil.getSessionFactory().openSession();
Transaction transaction = null;
try {
transaction = session.beginTransaction();
List courses = session.createQuery("from Course").list();
for (Iterator iterator = courses.iterator(); iterator.hasNext();)
{
Course course = (Course) iterator.next();
System.out.println(course.getCourseName());
}
transaction.commit();
return courses;
} catch (HibernateException e) {
transaction.rollback();
e.printStackTrace();
return null;
} finally {
session.close();
}
}
public void updateCourse(Long courseId, String courseName)
{
Session session = HibernateUtil.getSessionFactory().openSession();
Transaction transaction = null;
try {
transaction = session.beginTransaction();
Course course = (Course) session.get(Course.class, courseId);
course.setCourseName(courseName);
transaction.commit();
} catch (HibernateException e) {
transaction.rollback();
e.printStackTrace();
} finally {
session.close();
}
}
public void deleteCourse(Long courseId)
{
Session session = HibernateUtil.getSessionFactory().openSession();
Transaction transaction = null;
try {
transaction = session.beginTransaction();
Course course = (Course) session.get(Course.class, courseId);
session.delete(course);
transaction.commit();
} catch (HibernateException e) {
transaction.rollback();
e.printStackTrace();
} finally {
session.close();
}
}
}
package com.snk.util;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
public class HibernateUtil {
private static final SessionFactory sessionFactory;
static {
try {
// sessionFactory = new Configuration().configure().buildSessionFactory();//Default configuration
sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();//Annotation Configuration
} catch (Throwable ex) {
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
hibernate-servlet
index.jsp
View
View
com.snk.frontend.View
View
/View