Posted
January 21, 2009
at
Spring66
Spring กับ DAO หลังจากที่เราจัดการเชื่อมต่อกับฐานข้อมูลแล้วดังนั้นตอนนี้เหมือนเรามี ท่อสำหรับเชื่อมต่อกับตาน้ำบาดาล แล้วต่อไปเราจะเริ่ม ใส่เครื่องสูบน้ำเข้าไปบนต่อนั้นโดย สิ่งที่จะทำการสูบข้อมูลออกมาจาก ฐานข้อมูลนั้นสำหรับสปริงเราเรียกว่าชั้นของดาว DAO(Data Access Object) ซึ่งชื่อนี้ก็ไม่ใช่อื่นไกลมัน คือหนึ่งใน Design Pattern อันโด่งดังนั่นเอง โดยสรุปหน้าที่หลักของ DAO นั้นคือเป็นคนที่มีหน้าที่ในการ ควบคุม Operation ฑื้นฐานต่างๆที่เราพึงจะกระทำต่อหนึ่งตารางในระบบฐานข้อมูลนั่นคือ CRUD(Create Read/Retrive Update Delete) นั่นเองและย้ำเราจะมีหนึ่ง DAO ต่อหนึ่งตารางเท่านั้น และต่อไปอย่างที่ได้เกริ่นไว้แล้วว่าผมจะใช้ iBatis เข้ามาช่วยในการ map ข้อมูลในตารางออกมาเป็น Java Object ดังนั้นผมจึงขอ assume ว่าทุกคนมีพื้นเรื่อง iBatis แล้วครับ (เหอๆๆๆๆ เดี่ยวจะกลับมาเล่าอีกที) แต่ก่อนอื่นเอาคร่าวๆก่อนแล้วกันครับ ในตัวอย่างนี้เรามีตารางชื่อ USERS ที่มี Schema ดังนี้ CREATE TABLE /*!32312 IF NOT EXISTS*/ `users` ( `USR_ID` tinyint(3) unsigned NOT NULL DEFAULT '0', [...]
Posted
January 22, 2009
at
Spring66
ต่อจากตอนที่แล้วเราพบว่าทำไม mothod ใน DAO มันเยอะจังก็อย่าเพิ่งไปสนใจมากครับเพราะเพื่อความยืดหยุ่นเราจะสร้างมันไว้ก่อนนอกจากนี้ยังทะลึ่งมี พวกที่ลงท้าย ด้วย Expression อีก method ที่ลงท้ายด้วย Expression นั้นจะเป็นพวกสร้าง Dynamic Query ทั้งหลายยกตัวอย่างเช่นผมต้องการสร้าง SELECT * FROM USERS WHERE USERS.USR_ID LIKE '%username%' แทนที่จะต้องไปสร้าง ใหม่เราก็สร้างเป็น dynamic block ก่อนหน้าตาเป็นแบบนี้ [...]