ตัวอย่างโปรเจ็กต์แบบ MVC ตอนที่ 3 (Model)

ในการสร้าง Model หรือคลาสที่จะใช้เป็นตัวแทนออบเจ็กต์ของข้อมูล มีวิธีการสร้างง่าย ๆ โดยการตั้งชื่อตัวแปรต่าง ๆ ตามรายชื่อคอลัมน์ในตารางที่เราสร้างเอาไว้แล้ว จากโครงสร้างตารางของเราเป็นดังนี้

โครงสร้างตาราง

Java-Basic-ง่ายนิดเดียว-MVC-3-1

เมื่อนำรายชื่อคอลัมน์มาตั้งชื่อเป็นตัวแปรของคลาส Contacts.java จะได้ตัวแปร และเมธอดต่าง ๆ ดังต่อไปนี้

การสร้าง Model

 

ถ้าใครอ่านโค้ดของเรามานาน น่าจะพอเดาออกนะคะว่าปกติเราจะสร้าง Model แบบนี้เสมอ ความจริงก็มีวิธีอื่นค่ะ ที่เรียกใช้ได้ง่ายกว่านี้ แต่ต้องเขียนโค้ดมากขึ้น เอาไว้คุยกันโอกาสหน้าละกัน

 

ทดสอบ Model

มาที่คลาส Main.java ที่เราได้ทดสอบการเชื่อมต่อฐานข้อมูลผ่านไปแล้ว คราวนี้เพิ่มโค้ดในการทดสอบทั้ง Model ในส่วนของคลาส Contacts.java และ เมธอด isInsert() ไปพร้อม ๆ กันเลยค่ะ โดยมีโค้ดดังต่อไปนี้

 

Run Program

เมื่อลอง Run ดู เราจะได้ผลลัพธ์ดังนี้

Java-Basic-ง่ายนิดเดียว-MVC-3-2

ตามไปดูที่ตารางในฐานข้อมูลด้วยนะคะว่าข้อมูลลงไปในตารางจริง ๆ แล้วหรือยัง ?

Java-Basic-ง่ายนิดเดียว-MVC-3-3

 

ข้อมูลในตารางของเราอาจจะทดสอบเยอะไปหน่อย พอดีเขียนโปรแกรมเสร็จแล้วค่อยมาเขียนบทความ ใครขยันก็ กลับไปทบทวนเรื่องนี้ใหม่ทั้งหมดได้นะคะ ส่วนของ Model จบแค่นี้ค่ะ ตามกรอบสีฟ้าฝั่งซ้ายมือที่มี M, DB และถังฐานข้อมูล ต่อไปเราจะไม่ได้มายุ่งส่วนนี้อีกแล้ว เพราะตามภาพ C จะเป็นคนเรียกใช้ส่วนของ Model เองค่ะ

 

ไฟล์ที่เสร็จแล้ว

Java-Basic-ง่ายนิดเดียว-MVC-3-4

 

สรุป

จบไปแล้วนะคะเรื่องของ Model ไม่มีอะไรซับซ้อนเลย ลองนึกถึงไฟล์ Database.java ก็มีแค่ 2 เมธอด

  1. Constructor() ทำหน้าที่เชื่อมต่อฐานข้อมูล
  2. isInsert() ทำหน้าที่เพิ่มข้อมูลลงไปในตาราง

ที่คลาส Contacts.java ก็ไม่มีอะไรมาก เป็นคลาสธรรมดา ๆ ที่ไม่มีการประมวลผลอะไรเลย หน้าที่ก็แค่เก็บข้อมูลเอาไว้ในรูปแบบออบเจ็กต์แค่นั้นเอง อยากทดสอบตัวเองมั้ยคะว่าคุณเข้าใจเรื่องนี้มากน้อยแค่ไหน ? เรามีคำแนะนำค่ะ ลบโปรเจ็กต์นี้ทิ้งไป แล้วสร้างมันขึ้นมาใหม่โดยไม่ต้องดูตัวอย่างเลย ฝึกแบบนี้ไปเรื่อย ๆ เดี๋ยวก็เก่งเองค่ะ ^^

 


เรื่องที่เกี่ยวข้อง

MVC ตอนที่ 1 การดึงปุ่ม JButton มาทำงานที่ Controller

MVC ตอนที่ 2 การดึง JTextField มาทำงานที่ Controller

ตัวอย่างโปรเจ็กต์: รายชื่อผู้ติดต่อ

ตอนที่ 1 (ภาพรวม)

ตอนที่ 2 (ฐานข้อมูล)

ตอนที่ 3 (Model)

ตอนที่ 4 (View)

ตอนที่ 5 (Controller & Service)

ตอนที่ 6 (ทดสอบโปรแกรม)

ตอนที่ 7 (DAO)


 

ธมนวรรณ มณีจันทร์

ธมนวรรณ มณีจันทร์

|:- เราเชื่อมั่นว่าการเสียสละและการแบ่งปันจะทำให้โลกใบนี้สวยงามมากขึ้น ทุกๆ จุดเริ่มต้นของการเรียนรู้ นำไปสู่การเรียนรู้ถัดไป เว็บไซต์แห่งนี้ขอเป็นส่วนหนึ่งของการแบ่งปันความรู้ที่ไม่มีที่สิ้นสุด มาร่วมกันผลักดันโลกของเราให้หมุนไปพร้อมกับพลังแห่งความรักด้วยกันนะคะ :) >>> |:- About Me! -:|