TAHAP PERSIAPAN
1. Import template Facelet
2. Tambahkan komponen server Tomcat
3. Tambahkan komponen Hibernate
4. Sisipkan coding ini di Hibernate :
1
<bean
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionF
actoryBean" id="sessionFactory">
<property name="configLocation" value= "WEB-
INF/hibernate.cfg.xml"></property>
</bean>
<bean
class="org.springframework.orm.hibernate3.HibernateTransactionManager"
id="hibernateTransaction">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
</beans>
6. Restart Tomcat
7. Selesai
@Lob
@Column(name = "comment", nullable = false)
private String comment;
4. Hasil generated, code lengkapnya adalah :
package lat.entity;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
2
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.Table;
@Entity
@Table(name = "table_guestbook")
public class BukuTamu implements Serializable {
private static final long serialVersionUID = 6744738268773106628L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@Lob
@Column(name = "comment", nullable = false)
private String comment;
3
}
@Override
public int hashCode() {
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
BukuTamu other = (BukuTamu) obj;
if (comment == null) {
if (other.comment != null)
return false;
} else if (!comment.equals(other.comment))
return false;
if (email == null) {
if (other.email != null)
return false;
}else if (!email.equals(other.email))
return false;
if (id != other.id)
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
if (website == null) {
if (other.website != null)
return false;
} else if (!website.equals(other.website))
return false;
return true;
4
}
}
5. Tambahkan mapping ke hibernate code lengkapnya adalah :
package guestbook.dao;
import java.util.List;
import guestbook.entity.GuestBook;
List<GuestBook> getAll();
}
5
4. Browse “HibernateDaoSupport..”
5. Add “GuestBookDao...”
6. Masukan coding dibawah ini :
package guestbook.dao;
import guestbook.entity.GuestBook;
import java.util.List;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.springframework.transaction.annotation.Transactional;
@Transactional(readOnly=true)
public List<GuestBook> getAll() {
return getHibernateTemplate().loadAll(GuestBook.class);
}
@Transactional(readOnly=false)
public void save(GuestBook book) {
getHibernateTemplate().save(book);
}
}
<context:annotation-config />
<tx:annotation-driven transaction-manager="hibernateTransaction"
/>
<bean
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionF
actoryBean" id="sessionFactory">
<property name="configLocation" value= "WEB-
INF/hibernate.cfg.xml"></property>
</bean>
6
<bean
class="org.springframework.orm.hibernate3.HibernateTransactionManager"
id="hibernateTransaction">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<bean class="guestbook.dao.GuestBookDaoHibernate"
id="guestBookDao">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
</beans>
8. Selesai
package guestbook.model;
public class GuestBookInsert {
private String comment;
private String email;
private String name;
private String website;
}
import guestbook.dao.GuestBookDao;
7
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getWebsite() {
return website;
}
public void setWebsite(String website) {
this.website = website;
}
import guestbook.dao.GuestBookDao;
8
public String getWebsite() {
return website;
}
public void setWebsite(String website) {
this.website = website;
}
}
import lat.entity.BukuTamu;
import guestbook.dao.GuestBookDao;
import guestbook.entity.GuestBook;
9
book.setName(name);
book.setWebsite(website);
dao.save(book);
comment="";
email="";
name="";
website="";
return null;
}
}
<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
version="1.2">
<managed-bean>
<managed-bean-name>guestbookinsert</managed-bean-name>
<managed-bean-
class>guestbook.model.GuestBookInsert</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>dao</property-name>
<property-class>guestbook.dao.GuestBookDao</property-
class>
<value>#{guestBookDao}</value>
</managed-property>
</managed-bean>
<application>
<view-handler>com.sun.facelets.FaceletViewHandler</view-
handler>
<el-
resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-
resolver>
<message-
bundle>com.echo.web.template.resource.Messages</message-bundle>
</application>
</faces-config>
10
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:t="http://myfaces.apache.org/tomahawk">
<head>
<title>Buku Tamu</title>
</head>
<body>
<div><h1>Selamat Datang di Ri32</h1></div>
<h:form id="form_input">
<h:panelGrid columns="3">
<h:outputLabel value="Name" for="name"/>
<h:inputText value="#{guestbookinsert.name}"
id="name" required="true" requiredMessage="Nama Anda masih kosong!"/>
<h:message for="name"/>
<h:outputText value=""/>
<h:commandButton
action="#{guestbookinsert.processSave}" value="Save"/>
<h:outputText value=""/>
</h:panelGrid>
</h:form>
</body>
</html>
9. Restart Tomcat, dan input datanya.
10. Selesai
11
import guestbook.entity.GuestBook;
import java.util.List;
}
3. Menu source>generate gether..>list>getlist
package guestbook.model;
import guestbook.entity.GuestBook;
import java.util.List;
import guestbook.dao.GuestBookDao;
import guestbook.entity.GuestBook;
import java.util.List;
import guestbook.dao.GuestBookDao;
import guestbook.entity.GuestBook;
import java.util.List;
12
return list;
}
}
6. Masukan coding list=dao.getAll();
package guestbook.model;
import guestbook.dao.GuestBookDao;
import guestbook.entity.GuestBook;
import java.util.List;
<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
version="1.2">
<managed-bean>
<managed-bean-name>guestbookinsert</managed-bean-name>
<managed-bean-
class>guestbook.model.GuestBookInsert</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>dao</property-name>
<property-class>guestbook.dao.GuestBookDao</property-
class>
<value>#{guestBookDao}</value>
</managed-property>
</managed-bean>
<managed-bean>
<managed-bean-name>guestbookload</managed-bean-name>
<managed-bean-class>guestbook.model.GuestBookLoad</managed-
bean-class>
<managed-bean-scope>request</managed-bean-scope>
13
<managed-property>
<property-name>dao</property-name>
<property-class>guestbook.dao.GuestBookDao</property-
class>
<value>#{guestBookDao}</value>
</managed-property>
</managed-bean>
</faces-config>
<head>
<title>Buku Tamu</title>
</head>
<body>
<div><h1>Selamat Datang di Ri32</h1></div>
<div>
<h:form id="form_input">
<h:panelGrid columns="3">
<h:outputLabel value="Name" for="name"/>
<h:inputText value="#{guestbookinsert.name}"
id="name" required="true" requiredMessage="Nama Anda masih kosong!"/>
<h:message for="name"/>
14
<h:message for="website"/>
<h:outputText value=""/>
<h:commandButton
action="#{guestbookinsert.processSave}" value="Save"/>
<h:outputText value=""/>
</h:panelGrid>
</h:form></div>
<div>
<h:dataTable value="#{guestbookload.list}" var="book"
border="1">
<h:column>
<h:panelGroup rendered="#{book.website !=''}">
<a
href="#{book.website}">#{book.website}</a>
</h:panelGroup>
</h:column>
<h:column>
<h:panelGroup rendered="#{book.website !=''}">
#{book.name}
</h:panelGroup>
</h:column>
<h:column>
#{book.comment}
</h:column>
</h:dataTable>
</div>
</body>
</html>
9. Restart Tomcat, input data, dan otomatis akan menampilkan data tersebut
10. Selesai.
15