Skip to Sample Code
To run the example, follow these steps:
- Download Displaytags from here, and include the displaytag-1.1.jar file in your classpath.
- Download the latest version of hibernate from hibernate.org, and include all the required jars in your classpath.
- Create the pagingEmp.jsp page as shown below
<jsp:root version="1.2" xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:display="urn:jsptld:http://displaytag.sf.net">
<jsp:directive.page contentType="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="css/screen.css" />
<jsp:scriptlet>
session.setAttribute( "EmpList", data.DAO.getData());
</jsp:scriptlet>
<h2 align="center">Emp Table with Display tag</h2>
<display:table name="sessionScope.EmpList" pagesize="4">
<display:column property="empId" title="ID" />
<display:column property="empName" title="Name" />
<display:column property="empJob" title="Job" />
<display:column property="empSal" title="Salary" />
</display:table>
</jsp:root>pagingEmp.jsp - Create the Employee class, which is the bean that will hold the Employee data as shown below:
public class Employee {
public long empId;
public String empName;
public String empJob;
public long empSal;
public long getEmpId() {
return empId;
}
public void setEmpId(long empId) {
this.empId = empId;
}
public String getEmpJob() {
return empJob;
}
public void setEmpJob(String empJob) {
this.empJob = empJob;
}
public String getEmpName() {
return empName;
}
public void setEmpName(String empName) {
this.empName = empName;
}
public long getEmpSal() {
return empSal;
}
public void setEmpSal(long empSal) {
this.empSal = empSal;
}
}Employee.java - Define the styles for displaying the table. Displaytag renders the tables as simple HTML tables, with the standart tr,td,th and table tags. The css file is shown below
td {
font-size: 0.65em;
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size: 11px;
}
th {
font-size: 0.85em;
border-top: 2px solid #ddd;
border-right: 2px solid #ddd;
border-left: 2px solid #666;
border-bottom: 2px solid #666;
}
table {
border: 1px dotted #666;
width: 80%;
margin: 20px 0 20px 0;
}
th,td {
margin: 0;
padding: 0;
text-align: left;
vertical-align: top;
background-repeat: no-repeat;
list-style-type: none;
}
thead tr {
background-color: #bbb;
}
tr.odd {
background-color: #fff;
}
tr.even {
background-color: #ddd;
}screen.css - Configure Hibernate for accessing database
- Create the Employee.hbm.xml file to map the Employee bean with the database table as shown below
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="beans.Employee" table="Emp">
<id name="empId" column="EMPNO" type="long">
<generator class="native"/>
</id>
<property name="empName" column="ENAME" />
<property name="empJob" column="JOB" />
<property name="empSal" column="SAL" type="long"/>
</class>
</hibernate-mapping>Employee.hbm.xml
This file is placed in the same directory as the Employee.java class. - Create the Hibernate Configuration file hibernate.cfg.xml in the root directory of the classes.
<?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.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="connection.url">jdbc:oracle:thin:@localhost:1521/orcl</property>
<property name="connection.username">scott</property>
<property name="connection.password">tiger</property>
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
<mapping resource="beans/Employee.hbm.xml"/>
<property name="hibernate.current_session_context_class">thread</property>
</session-factory>
</hibernate-configuration>hibernate.cfg.xml
- Create the Employee.hbm.xml file to map the Employee bean with the database table as shown below
- Create a class for Data access as shown below
public class DAO {
public static List getData() {
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
Session session = sessionFactory.getCurrentSession();
List result = null;
try {
session.beginTransaction();
result = session.createQuery("from Employee").list();
session.getTransaction().commit();
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
}DAO.java
No comments:
Post a Comment