วันศุกร์ที่ 4 กันยายน พ.ศ. 2558

Spring + Hibernate Crud DAO

ทดลองเขียนการเชื่อมต่อ Database ด้วย Spring MVC และ Hibernate 

1. สร้างโปรเจคใหม่ขึ้นมา เลือกเมนู File > New Project
    เลือก Java Web > Web Application  แล้วคลิก Next



2. ตั้งชื่อโปรเจค และเลือก path ที่ต้องการเก็บบันทึก แล้วคลิก Next



3. เลือก web server ที่เราใช้ในการรันโปรเจค (เลือก Apache Tomcat 8) แล้วคลิก Next



4. เลือก Spring Web MVC และ Hibernate
   ตรง Database Connection เลือก database ที่เราตั้งค่าการเชื่อมต่อไว้แล้ว


* หากยังไม่มี Database ที่เคยเชื่อมต่อไว้ ตรง Database Connection ให้คลิกเลือก New Database Connection...


ของเราต้องการ connect SQL Server ซึ่งต้อง Add driver เพิ่ม
เลือก New Driver...

 เลือก  Add แล้วเลือก path ที่เก็บไฟล์ Driver sqljdbc.jar  แล้วคลิก  OK


จากนั้นก็มาใส่ข้อมูลของ Database ที่เราจะ Connect กัน ได้แก่
- Host : 172.xx.xx.xx ประมาณนั้น
- Port  : 1433
- Database name
- User Name
- Password
จากนั้นลอง Test connection ดูจะแสดงข้อความดังรูปว่า Connection succeeded
กด Finish


จากนั้นแล้ว ที่หน้าสร้าง New Web Application ของเราจะแสดงข้อมูล Database Connection ที่เราเพิ่มตั้งค่าไป แล้วกด Finish


5. ที่หน้าโปรแกรม Netbeans ของเราจะแสดงโปรเจคที่สร้าง ดังรูป

6. สร้าง Package เพิ่ม ภายใต้ Source Packages ได้แก่
  • controller 
  • model.dao
  • model.pojo
  • model.utl
จะได้ดังรูป



 7. คลิกขวาที่ <default package> เลือก New > Other...
    เลือก Hibernate > Hibernate Reverse Engineering Wizard  แล้วคลิก Next



ตั้งชื่อไฟล์  แล้วคลิก Next





เลือก Table ที่ต้องการ แล้วกด Add > แล้วกด Finish





8. คลิกขวาที่ package model.utl 
   เลือก New > Other..

จะได้ไฟล์ ดังรูป


9. คลิกขวาที่ package model.pojo
   เลือก New > Other..

 จะได้ไฟล์ 2 ไฟล์ ดังรูป


 
10. คลิกขวาที่ package model.dao
   เลือก New > Java Class...  สร้างไฟล์ คลาส SiteDAO ไว้สำหรับรอรับการเรียกใช้งาน Database จาก Controller




11. สร้างไฟล์ jsp สำหรับการแสดงผล  
   ภายใต้ Web Pages/WEB-INF/jsp 
   คลิกขวาที่โฟลเดอร์ jsp  เลือก New > JSP ...
   ให้ชื่อว่า site ละกันนะคะ (เนื่องจากจะเอาไว้แสดงข้อมูลของ site) เสร็จแล้วกด Finish





12. คลิกขวาที่ package controller
   เลือก New > Java Class...  สร้างไฟล์ คลาส SiteController 


  ** โดยชื่อ ใน ModelAndView mv = new ModelAndView("site"); คือชื่อของหน้า display site.jsp


13. เข้าไป ตั้งค่า bean เพิ่มในไฟล์ dispatcher-servlet.xml 



14. ที่หน้า  index.jsp
      เพิ่มลิ้งค์เพื่อเรียกไปหน้า แสดงผล site
       
        <h1><a href="site.htm">Get Site list</a></h1>






15. ที่หน้า site.jsp  เพิ่มโค้ดแสดงผลข้อมูล site

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib uri='http://java.sun.com/jsp/jstl/core' prefix='c'%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1>Site list</h1>
        <table border="1">
            <tr>
                <th>Site Code</th>
                <th>Site Name</th>
                <th>Address1</th>
                <th>Address2</th>
                <th>Address3</th>
            </tr>           
            <c:forEach var="site" items="${sites}">
                <tr>
                    <td>
                        <c:out value="${site.getCode()}"></c:out>
                    </td>
                    <td>
                        <c:out value="${site.getName()}"></c:out>
                    </td>
                    <td>
                        <c:out value="${site.getAddressLine1()}"></c:out>
                    </td>
                    <td>
                        <c:out value="${site.getAddressLine2()}"></c:out>
                    </td>
                    <td>
                        <c:out value="${site.getAddressLine3()}"></c:out>
                    </td>
                </tr>               
            </c:forEach>               
        </table>
    </body>
</html>




16. ที่ไฟล์ hibernate.cfg.xml  
    เพิ่ม <mapping resource="model/pojo/Site.hbm.xml"/>   




16. ทดลองรันโปรเจค คลิกขวาที่ชื่อโปรเจค > เลือก Run
 จะได้หน้าดังรูป


กดที่ลิ้งค์ Get Site list  
หากได้ดังรูป  จะต้องไปเพิ่ม Library sqljdbc4.jar เข้ามาในโปรเจค





 
 จากนั้นลองรันโปรเจคใหม่อีกครั้งหนึ่ง หากสำเร็จแล้วจะได้ดังรูป


ไม่มีความคิดเห็น:

แสดงความคิดเห็น