วันพฤหัสบดีที่ 23 กรกฎาคม พ.ศ. 2558

Hibernate Framework


  1. Hibernate Framework ซึ่งเป็น ORM หรือ Object/Relational Mapping ที่มีความสามารถในการช่วยจัดการกับโปรแกรมที่อยู่ในรูปออบเจ็กต์ ให้สามารถใช้งานกับระบบฐานข้อมูลได้อย่างมีประสิทธิภาพ ไม่ว่าจะเป็น การสร้างตาราง การเพิ่ม ลบ แก้ไข ค้นหาข้อมูลต่างๆ ในฐานข้อมูล อาทิ MySQL, MSSQL, Oracle และอื่นๆ ซึ่งมีการใช้งานกันอย่างแพร่หลาย 

วันจันทร์ที่ 13 กรกฎาคม พ.ศ. 2558

คำสั่ง INSERT SELECT

    insert select คือ เป็นคำสั่งที่สามารถคัดลอกข้อมูลจากตารางหนึ่งไปแทรกลงตารางที่มีอยู่ได้โดยต้องมีโครงสร้างเหมือนกัน

  - ต้องการ insert ข้อมูลลง member2 จากข้อมูล member1 (ต้องโครงสร้างเท่ากัน)
     insert into member2  select * from member1

  - ต้องการ insert ข้อมูลลง member2 จากข้อมูล member1 (ต้องมีโครงสร้างเท่ากัน)  โดยมีเงื่อนไข fname เท่ากับ m1
     insert into member2  select * from member1 where fname='m1'

  - ต้องการ insert ข้อมูลลง member2 จากข้อมูล member1 โดยระบุฟิวส์
    insert into member2 (fname,lname,nicknam) select fname,lname,nicknam from member1

 - ต้องการ insert ข้อมูลลง member2 จากข้อมูล member1 โดยระบุฟิวส์และมีเงื่อนไข fname เท่ากับ m1
     insert into member2 (fname,lname,nicknam) select fname,lname,nicknam from member1 where fname='m2'

Spring framework ความรู้เบื่องต้น

Spring เป็น framework ของ JEE (Java Enterprise Edition ) พัฒนาขึ้นโดย Rod Johnson ซึ่งหลังได้มีกลุ่มนักพัฒนาเข้ามาช่วยพัฒนาโดยตั้งเป็นกลุ่ม community  ขึ้น สำหรับนักพัฒนาสาย java  ซึ่งปัจจุบันนิยมมากของขา java dav เพราะมีความสามารถหลากหลาย ดังนี้

    - ไม่ว่าเป็นรูปแบบการเขียน code ที่สั้นขึ้นถ้าเทียบกับ framework ตัวอื่นๆ โดยมีการร่วมเอาหลายๆ อย่างที่ส่วนมากคนเขียนซ้ำๆ เอามาเรียกใช้งาน 
    - สามารถใช้ร่วมกับ framework ตัวอื่นเช่น struts,jsf,ejbได้โดย configuration ในรูบแบบของ xml หรือ แบบ java class 
    - สามารถจัดการ transaction ได้ดี
    - สามารถจัดการ security ได้ดี
    - สมารถจัดการแบ่งส่วนอย่างชัดเจน 3 Layer ตาม M-V-C Design Pattern
    - สามารถเขียนเทสแยกส่วนได้โดยใช้  jUnit
    - สามารถเชื่อมต่อฐานข้อมูลแบบ ORM (Object Relational Mapping) โดยสามารถเลือกใช้ Hibernate, JPA ,iBatis และค่ายอื่นๆ ได้
   - สามารถใช้ JDBC Tamplate ได้ดี
   - สามารถจัดการ Data เบื่องต้นได้เช่น CRUD เพื่อลดการเขียนซ้ำซ้อนโดยใช้ Spring Data JPA
   - รองรับการทำงาน Webflow
   - รองรับการทำงาน WebSocket
   - รองรับการทำงาน WebService , Mail
   - สนับสนุบการทำ IoC และ DI (Dependency Injection)  คือสามารถฉีด Bean เข้าส่วนต่างๆได้
   - สามารถใช้แท็ก Annotation ได้แทนรูปแบบ xml ได้ง่ายขึ้น 


Oracle Query date to char

      สำหรับฟิวส์ที่มี data type เป็น date เช่น birthday(date) เราสามารถแปลงเป็น varchar ได้เพื่อที่จะนำไป Query ตามที่ต้องการได้
- ตัวอย่างกรณี Table customer อยากได้เงื่อนไขวันเกิดเฉพาะในปี 2015
   select * from customer where to_char(birthday, 'yyyy') = '2015'
- ตัวอย่างกรณี Table customer อยากได้วันเดือนปีเกิดในรูปแบบไทย 14/07/2558
   select to_char(birthday, 'dd/mm/yyyy','NLS_CALENDAR=''THAI BUDDHA') as birthday from customer
- ตัวอย่างกรณี Table customer อยากได้วันเดือนปีเกิดเวลาในรูปแบบ 2014/04/16 13:37:00
   select to_char(birthday, 'yyyy/mm/dd HH24:mi:ss') as birthday from custome

* ตัวอย่างนำมาเขียนบางส่วนผู้อ่านสามารถนำไปประยุกต์เพิ่มเติมได้