วันพุธที่ 27 เมษายน พ.ศ. 2559

Spring 4 Restful web services with Hibernate 4 example using Maven

เพราะไม่อยากเหินห่างความรู้ที่เคยศึกษาเกี่ยวกับ Spring กับ Hibernate ไปมากนัก จึงต้องแวะเวียนมาอ่านหรือหาความรู้จากโปรเจ็กต์ออนไลน์ต่างๆ และครั้งนี้ได้พบกับตัวอย่างประยุกต์ที่น่าจะนำมาลองเขียนเองและอธิบายให้ตัวเองฟัง เล่าไปว่าเราเข้าใจมันอย่างไรบ้างครับ โดยอาศัยความรู้พื้นฐานจากบทความต่างๆก่อนหน้านี้ที่เราได้เรียนรู้ร่วมกันไงล่ะ

Note
ตัวอย่างนี้นำมาจากเว็บ http://www.beingjavaguys.com/2014/08/spring-restful-web-services.html ขอขอบคุณยิ่งครับ

เตรียมเครื่องมือให้พร้อมก่อนลุย

  • Spring tool suite ของผมเวอร์ชัน 3.7.3.RELEASE
  • jdk ของผมเวอร์ชัน 1.8.0_65

ขั้นตอนที่ควรทราบก่อนโค้ด

  • เตรียม database ให้พร้อม
  • สร้างโปรเจ้กต์ด้วย Maven
  • configuration ไฟล์ web.xml สำหรับ DispatcherServlet ที่ Spring MVC จำเป็นต้องใช้
  • เตรียม java beans
  • เตรียม dao layer
  • เตรียม service layer
  • เดรียม web services layer
  • และทดสอบ web services ด้วย jersey client (ถ้าทำได้นะ)

Note
นี่เป็นการโค้ดสดซึ่งผมเองก็ไม่ได้เตรียมโปรเจ็กต์ไว้ก่อน ผิดพลาดประการใดขออภัยมา ณ ที่นี้ด้วยนะครับ สำหรับ jersey client ขออ้างอิงไปที่ https://jersey.java.net/documentation/latest/client.html

เตรียม database

ผมใช้ฐานข้อมูล MySQL ซึ่งมีมาให้เมื่อติดตั้ง XAMPP (ของผมเวอร์ชัน 3.2.2) ดังนั้นผมจึงใช้ http://localhost/phpmyadmin/ เป็นเครื่องมือบริหารจัดการฐานข้อมูลครับ และต่อไปนี้คือ MySQL script ที่ใช้สร้างฐานข้อมูลชื่อ employee_db

CREATE DATABASE IF NOT EXISTS `employee_db` 
DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci

enter image description here

Note
ในกรณีที่เพื่อนๆใช้ phpmyadmin เหมือนกับผม หากมองไม่เห็นฐานข้อมูลที่เพิ่งสร้างนี้ ให้กดปุ่ม F5 หรือ reload page สักครั้งครับ

ให้เลือกฐานข้อมูล employee_db นี้ไว้ก่อนนะครับ ต่อไปก็สร้าง table ชื่อ employee ไว้ภายใน

CREATE TABLE IF NOT EXISTS `employee` ( 
`id` bigint(20) NOT NULL AUTO_INCREMENT, 
`first_name` varchar(45) DEFAULT NULL, 
`last_name` varchar(45) DEFAULT NULL, 
`email` varchar(45) DEFAULT NULL, 
`phone` varchar(45) DEFAULT NULL, 
PRIMARY KEY (`id`) 
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_unicode_ci

enter image description here

Note
ในกรณีที่เพื่อนๆใช้ phpmyadmin เหมือนกับผม หากมองไม่เห็นตารางที่เพิ่งสร้างนี้ ให้กดปุ่ม F5 หรือ reload page สักครั้งครับ

สุดท้ายของการเตรียมฐานข้อมูล ก็ใส่ข้อมูลของ employee สักหนึ่งคนลงไป

INSERT INTO `employee` (`id`, `first_name`, `last_name`, `email`, `phone`) 
VALUES (2, 'Hoston', 'lindey', 'hl@gmail.com', '90908989899')

enter image description here

สร้างโปรเจ็กต์ด้วย Maven

enter image description here
อุ้ย!ดึกแล้ว ไว้โอกาสหน้าผมจะมาเขียนต่อนะครับ

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

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