Hibernate Framework : ORM Tool :: Hibernate with Servlet/JSP
| Hibernate With Servlet/JSP Intro |
Let us understand how to integrate Hibernate with any web application or Servlet or any JSP pages.
In this we are trying to use Item Pojo class that represent my itemTab. And having ItemServlet that will help to retrieve data from JSP page and store to database using Hibernate.
| Hibernate with Servlet/JSP Example |
Project Hierarchy

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="connection.username">root</property>
<property name="connection.url">jdbc:mysql://localhost:3306/javaskoolDB</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="myeclipse.connection.profile">javaskoolMySQLDriver</property>
<property name="connection.password">admin</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hbm2ddl.auto">update</property>
<property name="show_sql">true</property>
<mapping resource="com/javaskool/item.hbm.xml" />
</session-factory>
</hibernate-configuration>
Item.java
package com.javaskool;
public class Item
{
private Integer itemId;
private String itemName;
private Integer qty;
public Integer getItemId() {
return this.itemId;
}
public void setItemId(Integer itemId) {
this.itemId = itemId;
}
public String getItemName() {
return this.itemName;
}
public void setItemName(String itemName) {
this.itemName = itemName;
}
public Integer getQty() {
return this.qty;
}
public void setQty(Integer qty) {
this.qty = qty;
}
}
item.hbm.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.javaskool.Item" table="itemTab">
<id name="itemId" type="java.lang.Integer">
<column name="itemId" />
<generator class="increment"></generator>
</id>
<property name="itemName" type="java.lang.String">
<column name="itemName" length="20" />
</property>
<property name="qty" type="java.lang.Integer">
<column name="qty" />
</property>
</class>
</hibernate-mapping>
ItemServlet.java
package com.javaskool;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
public class ItemServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String name=request.getParameter("t1");
int qty=Integer.parseInt(request.getParameter("t2"));
//1. configuring hibernate
Configuration confi=new Configuration().configure();
//2. create sessionfactory
SessionFactory sf=confi.buildSessionFactory();
//3. Get Session object
Session sess=sf.openSession();
//4. Starting Transaction
Transaction tran=sess.beginTransaction();
Item i1=new Item();
i1.setItemName(name);
i1.setQty(qty);
sess.save(i1); //inserting Item Details
tran.commit();
out.println("Item Inserted Successfuly");
out.flush();
out.close();
}
}
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>iServlet</servlet-name>
<servlet-class>com.javaskool.ItemServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>iServlet</servlet-name>
<url-pattern>/insertItem</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
index.jsp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Item Insert page</title>
</head>
<body>
<form action="insertItem" method="post">
<pre>
Item Name : <input type="text" name="t1"><br>
Qty : <input type="text" name="t2"><br>
<input type="submit" Value="Create New Item">
</pre>
</form>
</body>
</html>
Output


Table and Record after running the project
mysql> create table itemTab
-> (
-> itemId int primary key auto_increment,
-> itemName varchar(20),
-> qty int
-> );
Query OK, 0 rows affected (0.04 sec)
mysql> select * from itemtab;
+--------+----------+------+
| itemId | itemName | qty |
+--------+----------+------+
| 1 | Laptop | 90 |
+--------+----------+------+
1 row in set (0.00 sec)
| Download Examples |
Recent Comments