เพราะไม่อยากเหินห่างความรู้ที่เคยศึกษาเกี่ยวกับ 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
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
Note
ในกรณีที่เพื่อนๆใช้ phpmyadmin เหมือนกับผม หากมองไม่เห็นตารางที่เพิ่งสร้างนี้ ให้กดปุ่ม F5 หรือ reload page สักครั้งครับ
สุดท้ายของการเตรียมฐานข้อมูล ก็ใส่ข้อมูลของ employee สักหนึ่งคนลงไป
INSERT INTO `employee` (`id`, `first_name`, `last_name`, `email`, `phone`)
VALUES (2, 'Hoston', 'lindey', 'hl@gmail.com', '90908989899')
สร้างโปรเจ็กต์ด้วย Maven
อุ้ย!ดึกแล้ว ไว้โอกาสหน้าผมจะมาเขียนต่อนะครับ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น