Java bean with Hibernate
Person.java (entity class from database)
public class Person implements Serializable {
private Integer id;
private String name;
private Integer age;
public Person() {
}
public Person(Integer id) {
this.id = id;
}
public Integer getId() {
return id;
}
public void setId(Integer id)
{
this.id = id;
}
public String getName() {
return name;
}
public void setName(String
name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer
age) {
this.age = age;
}
@Override
public String toString() {
return "pac.Person[
id=" + id + " ]";
}
}
Hibernate.cfg.xml
<hibernate-configuration>
<session-factory>
<property
name="hibernate.dialect">org.hibernate.dialect.DerbyDialect</property>
<property
name="hibernate.connection.driver_class">org.apache.derby.jdbc.ClientDriver</property>
<property
name="hibernate.connection.url">jdbc:derby://localhost:1527/mydb</property>
<property
name="hibernate.connection.username">app</property>
<property
name="hibernate.connection.password">app</property>
<property name="hibernate.show_sql">true</property>
<property
name="hibernate.current_session_context_class">thread</property>
<mapping
resource="/Person.hbm.xml"/>
</session-factory>
</hibernate-configuration>
Person.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="pac.Person" table="PERSON">
<id
column="ID" name="id">
<generator
class="assigned"/>
</id>
<property
column="NAME" name="name"/>
<property
column="AGE" name="age"/>
</class>
</hibernate-mapping>
NewHibernateUtil.java
class
public class NewHibernateUtil {
private static final
SessionFactory sessionFactory;
static {
try {
// Create the
SessionFactory from standard (hibernate.cfg.xml)
// config file.
sessionFactory = new
AnnotationConfiguration().configure().buildSessionFactory();
} catch (Throwable ex) {
// Log the exception.
System.err.println("Initial SessionFactory creation failed." +
ex);
throw new
ExceptionInInitializerError(ex);
}
}
public static SessionFactory
getSessionFactory() {
return sessionFactory;
}
public static Session
openSession() {
return
sessionFactory.openSession();
}
public static Session
getCurrentSession() {
return sessionFactory.getCurrentSession();
}
/**
*
* closes the session factory
*/
public static void close() {
if (sessionFactory !=
null) {
sessionFactory.close();
}
}
}
PersonManger.java
class
/*
* To change this
template, choose Tools | Templates
* and open the template
in the editor.
*/
package pac;
import java.util.List;
import javax.ejb.Stateless;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;
/**
*
* @author Hasangi
*/
@Stateless
public class PersonManger {
public void
createPerson(Person person) {
Transaction tx =
null;
Session session =
NewHibernateUtil.getCurrentSession();
try {
System.out.println("sssssssss");
tx =
session.beginTransaction();
session.save(person);
tx.commit();
} catch
(RuntimeException e) {
if (tx != null
&& tx.isActive()) {
try {
// Second try catch as the rollback could fail as well
tx.rollback();
} catch
(HibernateException e1) {
System.out.println("Error rolling back transaction");
}
// throw again the first exception throw e;
}
}
}
public void
updatePerson(Person person) {
Transaction tx =
null;
Session session =
NewHibernateUtil.getCurrentSession();
try {
System.out.println("22222222");
tx = session.beginTransaction();
session.update(person);
tx.commit();
System.out.println("333333333333333");
} catch
(RuntimeException e) {
if (tx != null
&& tx.isActive()) {
try {
// Second try catch as the rollback could fail as well
tx.rollback();
} catch
(HibernateException e1) {
System.out.println("Error rolling back transaction");
}
// throw again the first exception throw e;
}
}
}
public Person
ViewPerson(int ID) {
Transaction tx =
null;
Session session =
NewHibernateUtil.getCurrentSession();
try {
tx =
session.beginTransaction();
Person per =
(Person) session.get(Person.class, ID);
tx.commit();
return per;
} catch
(RuntimeException e) {
if (tx != null
&& tx.isActive()) {
try {
// Second try catch as the rollback could fail as well
tx.rollback();
} catch
(HibernateException e1) {
System.out.println("Error rolling back transaction");
}
throw e;
}
}
return null;
}
public List
listPerson() {
Transaction tx =
null;
Session session =
NewHibernateUtil.getCurrentSession();
try {
tx =
session.beginTransaction();
List customer
= session.createQuery("select c from Person as c").list();
tx.commit();
return
customer;
} catch
(RuntimeException e) {
if (tx != null
&& tx.isActive()) {
try {
// Second try catch as the rollback could fail as well
tx.rollback();
} catch
(HibernateException e1) {
System.out.println("Error rolling back transaction");
}
throw e;
}
}
return null;
}
public void deletePerson(Person person) {
Transaction tx =
null;
Session session =
NewHibernateUtil.getCurrentSession();
try {
tx =
session.beginTransaction();
session.delete(person);
tx.commit();
} catch
(RuntimeException e) {
if (tx != null
&& tx.isActive()) {
try {
// Second try catch as the rollback could fail as well
tx.rollback();
} catch
(HibernateException e1) {
System.out.println("Error rolling back transaction");
}
// throw again the first exception throw e;
}
}
}
}
Servelats
Home.java
/*
* To change this
template, choose Tools | Templates
* and open the template
in the editor.
*/
package pac;
import java.io.IOException;
import java.io.PrintWriter;
import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author Hasangi
*/
@WebServlet(name = "Home", urlPatterns =
{"/Home"})
public class Home extends HttpServlet {
@EJB
private PersonManger
personManger;
/**
* Processes requests
for both HTTP
*
<code>GET</code> and
*
<code>POST</code> methods.
*
* @param request
servlet request
* @param response
servlet response
* @throws
ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void
processRequest(HttpServletRequest request, HttpServletResponse response)
throws
ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
Integer id=0;
String name=null;
Integer age=0;
Integer state=0;
if
(request.getParameter("id") != null) {
id =
Integer.parseInt(request.getParameter("id"));
}
if (request.getParameter("name")
!= null) {
name =
request.getParameter("name");
}
if
(request.getParameter("age") != null) {
age =
Integer.parseInt(request.getParameter("age"));
}
if ((id != 0)
&& (name != null) && (age != 0)) {
try {
// here we
create NewsEntity, that will be sent in JMS message
Person
p=new Person();
p.setId(id);
p.setName(name);
p.setAge(age);
personManger.createPerson(p);
state=0;
response.sendRedirect("sucess");
} catch
(Exception e) {
state=1;
}
}
PrintWriter out =
response.getWriter();
try {
/*
* TODO output
your page here. You may use following sample code.
*/
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet Home</title>");
out.println("</head>");
out.println("<body>");
out.println("<a href='index.jsp'>Home</a>");
out.println("<h1>Insert Person</h1>");
out.println("<form>");
out.println("ID:<input type='text' name='id'
id='id'/><br/><br/>");
out.println("Name:<input type='text' name='name'
id='name'/><br/><br/>");
out.println("Age:<input type='text' name='age'
id='age'/><br/><br/>");
out.println("<button type='submit'>Add
Person</button><br/>");
out.println("</form>");
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
}
// <editor-fold
defaultstate="collapsed" desc="HttpServlet methods. Click on the
+ sign on the left to edit the code.">
/**
* Handles the HTTP
*
<code>GET</code> method.
*
* @param request
servlet request
* @param response
servlet response
* @throws
ServletException if a servlet-specific error occurs
* @throws IOException
if an I/O error occurs
*/
@Override
protected void
doGet(HttpServletRequest request, HttpServletResponse response)
throws
ServletException, IOException {
processRequest(request, response);
}
/**
* Handles the HTTP
*
<code>POST</code> method.
*
* @param request
servlet request
* @param response
servlet response
* @throws
ServletException if a servlet-specific error occurs
* @throws IOException
if an I/O error occurs
*/
@Override
protected void
doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Returns a short
description of the servlet.
*
* @return a String
containing servlet description
*/
@Override
public String getServletInfo()
{
return "Short
description";
}//
</editor-fold>
}
list.java
/*
* To change this
template, choose Tools | Templates
* and open the template
in the editor.
*/
package pac;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.List;
import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author Hasangi
*/
@WebServlet(name = "list", urlPatterns =
{"/list"})
public class list extends HttpServlet {
@EJB
private PersonManger
personManger;
/**
* Processes requests
for both HTTP
*
<code>GET</code> and
*
<code>POST</code> methods.
*
* @param request
servlet request
* @param response
servlet response
* @throws
ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void
processRequest(HttpServletRequest request, HttpServletResponse response)
throws
ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out =
response.getWriter();
try {
/*
* TODO output
your page here. You may use following sample code.
*/
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet
ListCustomers</title>");
out.println("</head>");
out.println("<body>");
out.println("<a href='index.jsp'>Home</a>");
out.println("<h1>List of customers </h1>");
List result =
personManger.listPerson();
for (Iterator
iter = result.iterator(); iter.hasNext();) {
Person
c = (Person)iter.next();
out.println("ID"+c.getId()+" ,Name :
"+c.getName()+" ,Age :
"+c.getAge()+"<br>");
}
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
}
// <editor-fold
defaultstate="collapsed" desc="HttpServlet methods. Click on the
+ sign on the left to edit the code.">
/**
* Handles the HTTP
*
<code>GET</code> method.
*
* @param request
servlet request
* @param response
servlet response
* @throws
ServletException if a servlet-specific error occurs
* @throws IOException
if an I/O error occurs
*/
@Override
protected void
doGet(HttpServletRequest request, HttpServletResponse response)
throws
ServletException, IOException {
processRequest(request,
response);
}
/**
* Handles the HTTP
*
<code>POST</code> method.
*
* @param request
servlet request
* @param response
servlet response
* @throws
ServletException if a servlet-specific error occurs
* @throws IOException
if an I/O error occurs
*/
@Override
protected void
doPost(HttpServletRequest request, HttpServletResponse response)
throws
ServletException, IOException {
processRequest(request, response);
}
/**
* Returns a short
description of the servlet.
*
* @return a String
containing servlet description
*/
@Override
public String
getServletInfo() {
return "Short
description";
}//
</editor-fold>
}
Delete.java
/*
* To change this
template, choose Tools | Templates
* and open the template
in the editor.
*/
package pac;
import java.io.IOException;
import java.io.PrintWriter;
import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author Hasangi
*/
@WebServlet(name = "delete", urlPatterns =
{"/delete"})
public class delete extends HttpServlet {
@EJB
private PersonManger
personManger;
/**
* Processes requests
for both HTTP
*
<code>GET</code> and
*
<code>POST</code> methods.
*
* @param request
servlet request
* @param response
servlet response
* @throws
ServletException if a servlet-specific error occurs
* @throws IOException
if an I/O error occurs
*/
protected void
processRequest(HttpServletRequest request, HttpServletResponse response)
throws
ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
int id = 0;
Person p = new
Person();
if
(request.getParameter("id") != null) {
id =
Integer.parseInt(request.getParameter("id"));
p =
personManger.ViewPerson(id);
}
String name=null;
Integer age=0;
Integer state=0;
if
(request.getParameter("name") != null) {
name =
request.getParameter("name");
}
if
(request.getParameter("age") != null) {
age =
Integer.parseInt(request.getParameter("age"));
}
if ((id != 0)
&& (name != null) && (age != 0)) {
try {
// here we
create NewsEntity, that will be sent in JMS message
Person
per=new Person();
per.setId(id);
per.setName(name);
per.setAge(age);
personManger.deletePerson(per);
state=0;
response.sendRedirect("list");
} catch
(Exception e) {
state=1;
}
}
PrintWriter out =
response.getWriter();
try {
/*
* TODO output
your page here. You may use following sample code.
*/
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet delete</title>");
out.println("</head>");
out.println("<body>");
out.println("<a href='index.jsp'>Home</a>");
out.println("<h1>Delete Person</h1>");
out.println("<form>");
out.println(" <input
type='text' name='id' id='id'/>");
out.println("<button
type='submit'>Search</button><br/>");
out.println("</form>");
if (id != 0) {
out.println("ID:" + p.getId());
out.println("<br/>Name:" + p.getName());
out.println("<br/>Age:" + p.getId() +
"<br/><br/>");
out.println("<form>");
out.println("<input type='hidden' name='id' id='id'
value="+p.getId()+" ><br/><br/>");
out.println("<input
type='hidden' name='name' id='name'
value="+p.getName()+"><br/><br/>");
out.println("<input type='hidden' name='age' id='age'
value="+p.getAge()+"><br/><br/>");
out.println("<button type='submit'>Delete Person</button><br/>");
out.println("</form>");
}
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
}
// <editor-fold
defaultstate="collapsed" desc="HttpServlet methods. Click on the
+ sign on the left to edit the code.">
/**
* Handles the HTTP
*
<code>GET</code> method.
*
* @param request
servlet request
* @param response
servlet response
* @throws ServletException
if a servlet-specific error occurs
* @throws IOException
if an I/O error occurs
*/
@Override
protected void
doGet(HttpServletRequest request, HttpServletResponse response)
throws
ServletException, IOException {
processRequest(request, response);
}
/**
* Handles the HTTP
*
<code>POST</code> method.
*
* @param request
servlet request
* @param response
servlet response
* @throws
ServletException if a servlet-specific error occurs
* @throws IOException
if an I/O error occurs
*/
@Override
protected void
doPost(HttpServletRequest request, HttpServletResponse response)
throws
ServletException, IOException {
processRequest(request,
response);
}
/**
* Returns a short
description of the servlet.
*
* @return a String
containing servlet description
*/
@Override
public String
getServletInfo() {
return "Short
description";
}// </editor-fold>
}
Success.java
/*
* To change this
template, choose Tools | Templates
* and open the template
in the editor.
*/
package pac;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author Hasangi
*/
@WebServlet(name = "sucess", urlPatterns =
{"/sucess"})
public class sucess extends HttpServlet {
/**
* Processes requests
for both HTTP
*
<code>GET</code> and
*
<code>POST</code> methods.
*
* @param request
servlet request
* @param response
servlet response
* @throws ServletException
if a servlet-specific error occurs
* @throws IOException
if an I/O error occurs
*/
protected void
processRequest(HttpServletRequest request, HttpServletResponse response)
throws
ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out =
response.getWriter();
try {
/*
* TODO output
your page here. You may use following sample code.
*/
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet sucess</title>");
out.println("</head>");
out.println("<body>");
out.println("<a href='index.jsp'>Home</a>");
out.println("<h1>
Sucess</h1>");
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
}
// <editor-fold
defaultstate="collapsed" desc="HttpServlet methods. Click on the
+ sign on the left to edit the code.">
/**
* Handles the HTTP
*
<code>GET</code> method.
*
* @param request
servlet request
* @param response
servlet response
* @throws
ServletException if a servlet-specific error occurs
* @throws IOException
if an I/O error occurs
*/
@Override
protected void
doGet(HttpServletRequest request, HttpServletResponse response)
throws
ServletException, IOException {
processRequest(request,
response);
}
/**
* Handles the HTTP
*
<code>POST</code> method.
*
* @param request
servlet request
* @param response
servlet response
* @throws
ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void
doPost(HttpServletRequest request, HttpServletResponse response)
throws
ServletException, IOException {
processRequest(request, response);
}
/**
* Returns a short
description of the servlet.
*
* @return a String
containing servlet description
*/
@Override
public String
getServletInfo() {
return "Short
description";
}//
</editor-fold>
}
Update.java
/*
* To change this
template, choose Tools | Templates
* and open the template
in the editor.
*/
package pac;
import java.io.IOException;
import java.io.PrintWriter;
import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author Hasangi
*/
@WebServlet(name = "update", urlPatterns =
{"/update"})
public class update extends HttpServlet {
@EJB
private PersonManger
personManger;
/**
* Processes requests
for both HTTP
*
<code>GET</code> and
*
<code>POST</code> methods.
*
* @param request
servlet request
* @param response
servlet response
* @throws
ServletException if a servlet-specific error occurs
* @throws IOException
if an I/O error occurs
*/
protected void
processRequest(HttpServletRequest request, HttpServletResponse response)
throws
ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
int id = 0;
Person p = new
Person();
if
(request.getParameter("id") != null) {
id =
Integer.parseInt(request.getParameter("id"));
p =
personManger.ViewPerson(id);
}
String name=null;
Integer age=0;
Integer state=0;
if
(request.getParameter("name") != null) {
name =
request.getParameter("name");
}
if
(request.getParameter("age") != null) {
age =
Integer.parseInt(request.getParameter("age"));
}
if ((id != 0)
&& (name != null) && (age != 0)) {
try {
// here we
create NewsEntity, that will be sent in JMS message
Person
per=new Person();
per.setId(id);
per.setName(name);
per.setAge(age);
personManger.updatePerson(per);
state=0;
response.sendRedirect("list");
} catch
(Exception e) {
state=1;
}
}
PrintWriter out =
response.getWriter();
try {
/*
* TODO output
your page here. You may use following sample code.
*/
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet update</title>");
out.println("</head>");
out.println("<body>");
out.println("<a href='index.jsp'>Home</a>");
out.println("<h1>Update Person</h1>");
out.println("<form>");
out.println(" <input
type='text' name='id' id='id'/>");
out.println("<button
type='submit'>Search</button><br/><br/><br/>");
out.println("</form>");
if (id != 0) {
out.println("<form>");
out.println("ID:<input type='text' name='id' id='id'
value="+p.getId()+" ><br/><br/>");
out.println("Name:<input type='text' name='name' id='name'
value="+p.getName()+"><br/><br/>");
out.println("Age:<input type='text' name='age' id='age'
value="+p.getAge()+"><br/><br/>");
out.println("<button type='submit'>Update
Person</button><br/>");
out.println("</form>");
}
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
}
// <editor-fold
defaultstate="collapsed" desc="HttpServlet methods. Click on the
+ sign on the left to edit the code.">
/**
* Handles the HTTP
*
<code>GET</code> method.
*
* @param request
servlet request
* @param response
servlet response
* @throws
ServletException if a servlet-specific error occurs
* @throws IOException
if an I/O error occurs
*/
@Override
protected void
doGet(HttpServletRequest request, HttpServletResponse response)
throws
ServletException, IOException {
processRequest(request, response);
}
/**
* Handles the HTTP
*
<code>POST</code> method.
*
* @param request
servlet request
* @param response
servlet response
* @throws
ServletException if a servlet-specific error occurs
* @throws IOException
if an I/O error occurs
*/
@Override
protected void
doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Returns a short
description of the servlet.
*
* @return a String
containing servlet description
*/
@Override
public String getServletInfo()
{
return "Short
description";
}//
</editor-fold>
}
Index.html
<a href=”Home”>view home</a>
No comments:
Post a Comment