Previous | Home | Next |
Step 1. First of all we need to create a web application for this we go in the file menu wizard -> click on the new Project -> click on java web and then java web application -> put the name on the required field -> select the server which we want to use here to build the project -> first select to hibernate and then select to struts framework. (if we do not add the struts framework then we can use this by the adding jar file directly) -> now click on finish.
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.dialect">org.hibernate.dialect.MySQLDialect</property> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate_pro</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">root</property> </session-factory> </hibernate-configuration>
Step 2. Now we create a table on the given database which we select on the configuration file.
create table AddStruts ( id int not null auto_increment primary key, fname varchar(50), lname varchar(50), mob varchar(50), address varchar(50), state varchar(50), city varchar(50), pin int(6) )
Step 3. Now we need to create a jsp page click on file menu wizard -> new file -> web and jsp -> put the name on the required field -> click on finish.
<%@taglib uri="/struts-tags" prefix="s" %> <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title><s:text name="Welcome Page"/></title> </head> <body> <s:form action="insert" method="post"> <s:textfield label="First Name" name="fname"/> <s:textfield label="Last Name" name="lname"/> <s:textfield label="Address" name="address"/> <s:textfield label="State" name="state"/> <s:textfield label="City" name="city"/> <s:textfield label="Pin Code" name="pin"/> <s:submit value="Submit"/> </s:form> </body> </html>
Step 4. Now we need to create a package to store the action and pojo class. for this we need to go in the file menu wizard and -> click on new file -> search java and the opposite side click on package -> type the name of the package which we want -> click on finish.
Step 5. Now we need to create reverse eng file . Go in the file menu wizard -> new file click on -> hibernate and reverse eng file -> select table which we created in the database -> click on finsih.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-reverse-engineering PUBLIC "-//Hibernate/Hibernate Reverse Engineering DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd"> <hibernate-reverse-engineering> <schema-selection match-catalog="hibernate_pro"/> <table-filter match-name="AddStruts"/> </hibernate-reverse-engineering>
Step 5. Now create a pojo class on the created package. click on file menu wizard -> new file -> hibernate -> hibernate pojo class -> select package -> click on finish.
AddStrust.hbm.xml
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <!-- Generated 26 Dec, 2014 11:55:13 PM by Hibernate Tools 4.3.1 --> <hibernate-mapping> <class name="r4r.AddStruts" table="AddStruts" catalog="hibernate_pro" optimistic-lock="version"> <id name="id" type="java.lang.Integer"> <column name="id" /> <generator class="identity" /> </id> <property name="fname" type="string"> <column name="fname" length="50" /> </property> <property name="lname" type="string"> <column name="lname" length="50" /> </property> <property name="mob" type="string"> <column name="mob" length="50" /> </property> <property name="address" type="string"> <column name="address" length="50" /> </property> <property name="state" type="string"> <column name="state" length="50" /> </property> <property name="city" type="string"> <column name="city" length="50" /> </property> <property name="pin" type="java.lang.Integer"> <column name="pin" /> </property> </class> </hibernate-mapping>
AddStrust.java
package r4r; public class AddStruts implements java.io.Serializable { private Integer id; private String fname; private String lname; private String mob; private String address; private String state; private String city; private Integer pin; public AddStruts() { } public AddStruts(String fname, String lname, String mob, String address, String state, String city, Integer pin) { this.fname = fname; this.lname = lname; this.mob = mob; this.address = address; this.state = state; this.city = city; this.pin = pin; } public Integer getId() { return this.id; } public void setId(Integer id) { this.id = id; } public String getFname() { return this.fname; } public void setFname(String fname) { this.fname = fname; } public String getLname() { return this.lname; } public void setLname(String lname) { this.lname = lname; } public String getMob() { return this.mob; } public void setMob(String mob) { this.mob = mob; } public String getAddress() { return this.address; } public void setAddress(String address) { this.address = address; } public String getState() { return this.state; } public void setState(String state) { this.state = state; } public String getCity() { return this.city; } public void setCity(String city) { this.city = city; } public Integer getPin() { return this.pin; } public void setPin(Integer pin) { this.pin = pin; } }
Step 6. Now we need to create a java class for the creating the session with the hibernate. go in file menu wizard -> click on new file -> java -> java class -> put the name on the required field -> select to package -> finish.
HibernatePlug.java
package r4r; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; public class HibernatePlug { private static SessionFactory factory = getSessionFactory(); public static synchronized SessionFactory getSessionFactory() { try { Configuration cfg = new Configuration(); cfg.configure("hibernate.cfg.xml"); SessionFactory sessionFactory = cfg.buildSessionFactory(); System.out.println(" ---------- Factory Object Created ------------"); return sessionFactory; } catch (Throwable ex) { System.err.println("Initial SessionFactory creation failed." + ex); throw new ExceptionInInitializerError(ex); } } public static SessionFactory getFactory() { return factory; } }
Step 6. Now we need to create a action class. go in file menu wizard -> click on new file -> java -> java class -> put the name on the required field -> select to package -> finish.
AddData.java
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package R4R_Dao; /** * * @author sarvesh */ import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; import com.opensymphony.xwork2.Preparable; import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import R4R.AddStruts; public class AddData extends ActionSupport implements ModelDriven, Preparable { AddStruts employee; SessionFactory sessionFactory = null; Session session = null; @Override public String execute() { try { sessionFactory = new Configuration().configure().buildSessionFactory(); session = sessionFactory.openSession(); Transaction transaction = session.beginTransaction(); session.saveOrUpdate(employee); transaction .commit(); System.out.println("Record Inserted Successfully"); } catch (HibernateException hibernateException) { System.out.println(hibernateException.getMessage()); session.close(); return "ERROR"; } return "SUCCESS"; } @Override public AddStruts getModel() { return employee; } @Override public void prepare() throws Exception { employee = new AddStruts(); } }
Step 7. Now we need to modified to the struts.xml file for making the action.
struts.xml
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <!-- Configuration for the default package. --> <package name="default" extends="struts-default"> <action name="insert" class="R4R_Dao.AddData"> <result name="SUCCESS">/Success.jsp</result> <result name="ERROR">/Error.jsp</result> </action> </package> </struts>
Step 8. Now we need some another jsp file for performing the action so we need to create as we already to create a jsp page so follow that step.
index.jsp
<%@page contentType="text/html" pageEncoding="UTF-8" import="R4R_Dao.AddData"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%@taglib prefix="s" uri="/struts-tags"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body><center> <br> <br> <br> <br> <h1 style="color:chocolate"> <s:property value="name"/> registered successfully !!</h1> </center> </body> </html>
Step 9. Now we will run the project. so right click on the project node -> click on clean and build -> then run
Step 10. Now check to the database table.
Previous | Home | Next |