preparedstatement ใช้งานสะดวกกว่าในเรื่องของการระบุค่าข้อมูลผ่าน method setString, setBigDecimal, setTimestamp ฯลฯ ครับ ผู้เขียนไม่ต้องต่อ string เองเพื่อใส่ single quote ครอบ field ที่เป็น character หรือเขียน function เกี่ยวกับ date convert เองตอนที่จะ update หรือ insert ข้อมูลที่เป็น field วันที่หรือ timestamp ครับ (database คนละยี่ห้อกัน function convert date ก็ใช้งานต่างกันครับ)
ข้อเสียครับ
1. คือเราต้องทำหลายขั้นตอนครับ prepare ก่อนแล้วก็ set parameter ตามลำดับเครื่องหมาย ? ที่เราใส่แทน value
2. กรณีที่จะทำการ DML ข้อมูลที่มีหลาย field มาก อาจจะทำให้หลง index ครับ