與 Statement 相比,①PreparedStatement 接口代表預編譯的語句,它主要的優
勢在于可以減少 SQL 的編譯錯誤并增加 SQL 的安全性(減少 SQL 注射攻擊的可
能性);②PreparedStatement 中的 SQL 語句是可以帶參數的,避免了用字元串
連接配接拼接 SQL 語句的麻煩和不安全;③當批量處理 SQL 或頻繁執行相同的查詢時,
PreparedStatement 有明顯的性能上的優勢,由于資料庫可以将編譯優化後的
SQL 語句緩存起來,下次執行相同結構的語句時就會很快(不用再次編譯和生成
執行計劃)。
補充:為了提供對存儲過程的調用,JDBC API 中還提供了 CallableStatement 接
口。存儲過程(Stored Procedure)是資料庫中一組為了完成特定功能的 SQL 語
句的集合,經編譯後存儲在資料庫中,使用者通過指定存儲過程的名字并給出參數
(如果該存儲過程帶有參數)來執行它。雖然調用存儲過程會在網絡開銷、安全
性、性能上獲得很多好處,但是存在如果底層資料庫發生遷移時就會有很多麻煩,
因為每種資料庫的存儲過程在書寫上存在不少的差别。
Java Program!