Membuat CRUD Menggunakan Spring Hibernate - I [ Read ]

 

Berikut adalah cara membuat CRUD menggunakan Spring Hibernate :

1. Buat database dan table

1.1. Buat database 

Create Database springcrud;

1.2. Buat table

Create Table buku(

 id int NOT NULL AUTO_INCREMENT PRIMARY KEY,

 nama varchar(100),

 harga varchar(10)

);

1.3. Isi data table

Insert Into `buku`( `nama`, `harga`) VALUES ('ANAK SINGKONG','50000');


2.  Buka Netbeans , lalu klik New Project


3.  Pilih “Java Web” --> “Web Application” lalu klik Next


4. Beri nama “Project Name” lalu klik Next


5. Centang “Enable Contexts and Dependecy Injection” lalu klik Next


6. Centang “Spring Web MVC” dan “Hibernate 3. 2. 5” kemudia perhatikan bagian “Database Connection”, Jika masih belum terhubung maka klik Combobox tersebut dan pilih “New Database Connection”


7. Pilih driver MYSQL(Connector/J Driver) lalu klik Next


8. Isi field “Database” dengan nama database yang telah dibuat, lalu klik “Test Connection” jika “Connection Succeeded” artinya database sudah terhubung, kemudian  klik Finish


9. Klik Finish


10. Setelah itu klik kanan “Source Package” --> “New” --> “Hibernate Reverse Enginneering Wizard..” (Bisa juga “Source Package” --> “New” -->”Other”-->”Hibernate”-->”Hibernate Reverse Enginneering Wizard..”)


11. Beri nama file .reveng lalu klik Next


12. Pilih table yang hendak dihubungkan dengan project, lalu klik Add, setelah itu klik Finish

13. Kemudian membuat pojo, klik kanan “Source Package” --> “New” --> “Hibernate Mapping Files and POJOs from Database..” (bisa juga “Source Package” --> “New” -->”Other”-->”Hibernate”-->”Hibernate Mapping Files and POJOs from Database..”)


14. Centang “EJB 3 Annotations” --> isi “Package” dengan “Model” lalu klik Finish


15. Kemudian buat java interface class untuk dao : BukuDAO ( package Dao )

package Dao;

import Model.Buku;

import java.util.List;

public interface BukuDAO {

    public List<Buku>getBuku();

}


16. Buat java class yang mengimplementasikan BukuDAO di package yang sama

package Dao;

import Model.Buku;

import java.util.List;

import org.hibernate.SessionFactory;

import org.springframework.orm.hibernate3.HibernateTemplate;


public class BukuDAOImpl implements BukuDAO{

 private HibernateTemplate hibernateTemplate;

 public void setSessionFactory(SessionFactory sessionFactory){

 hibernateTemplate = new HibernateTemplate(sessionFactory);

 }

 @Override

 public List<Buku> getBuku() {

 return hibernateTemplate.find("from Buku");

 }

}


17. Buat java class di package Controller : ReadController.java

package Controller;

import Dao.BukuDAO;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.springframework.ui.ModelMap;

import org.springframework.web.servlet.ModelAndView;

import org.springframework.web.servlet.mvc.Controller;

 

public class ReadController implements Controller{

 private BukuDAO bukuDAO;

 

 public void setBukuDAO(BukuDAO bukuDAO){

 this.bukuDAO = bukuDAO;

 }

 @Override

public ModelAndView handleRequest(HttpServletRequest hsr, HttpServletResponse hsr1) throws Exception {

 ModelMap map = new ModelMap();

 map.addAttribute("allbuku", bukuDAO.getBuku());

 return new ModelAndView("readPage", map);

 }

}


18. Buat file .jsp : “readPage.jsp”

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>

<%@taglib prefix="form" uri="http://www.springframework.org/tags/form"%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

 <head>

 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

 <title><fmt:message key="title"/></title>

 </head>

 <body>

 <h1>List Produk </h1>

 <table border="1">

 <tr>

 <th>ID</th>

 <th>NAMA</th>

 <th>harga</th>

 <!--th>Action</th-->

 </tr>

 <c:forEach items="${allbuku}" var="buku">

 <tr>

 <td><c:out value="${buku.id}"/></td>

 <td><c:out value="${buku.nama}"/></td>

 <td><c:out value="${buku.harga}"/></td>

 <!--td><a href="update.htm?id=$!{buku.id}">Update</a></td-->

 </tr>

 </c:forEach>

 </table>

 </body>

</html>


19. Tambahkan source code pada file “Dispatcher-servlet.xml

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">

 <property name="driverClassName" value="com.mysql.jdbc.Driver"/>

 <property name="url" value="jdbc:mysql://localhost:3306/SpringCrud"/>

 <property name="username" value="root"/>

 <property name="password" value=""/>

 </bean>

 

 <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

 <property name="dataSource" ref="dataSource" />

 <property name="mappingResources">

 <list>

 <value>Model/Buku.hbm.xml</value>

 </list>

 </property>

 <property name="hibernateProperties">

 <props>

 <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>

 <prop key="hibernate.show_sql">false</prop>

 </props>

 </property>

 </bean>

 

 <bean id="BukuDAO" class="Dao.BukuDAOImpl">

 <property name="sessionFactory" ref="sessionFactory"/>

 </bean>

 

 <bean name="/read.htm" class="Controller.ReadController">

 <property name="BukuDAO" ref="BukuDAO"/>

 </bean>


20. Kemudian klik kanan project -> “Clean” -->”Deploy” --> “Run” ganti url dengan “http://localhost:8084/SpringHibernate/read.htm&#8221