有關jdbc statement的總結

1.Statement、PreparedStatement和CallableStatement都是接口(interface)。  
2.Statement繼承自Wrapper、PreparedStatement繼承自Statement、CallableStatement繼承自PreparedStatement。  
3.  
Statement接口提供了執行語句和獲取結果的基本方法;  
PreparedStatement接口添加了處理 IN 參數的方法;  
CallableStatement接口添加了處理 OUT 參數的方法。  
4.  
a.Statement:  
普通的不帶參的查詢SQL;支持批量更新,批量刪除;  
b.PreparedStatement:  
可變參數的SQL,編譯一次,執行屢次,效率高;  
安全性好,有效防止Sql注入等問題;  
支持批量更新,批量刪除;  
c.CallableStatement:  
繼承自PreparedStatement,支持帶參數的SQL操做;  
支持調用存儲過程,提供了對輸出和輸入/輸出參數(INOUT)的支持;  

Statement每次執行sql語句,數據庫都要執行sql語句的編譯 ,  
最好用於僅執行一次查詢並返回結果的情形,效率高於PreparedStatement。  

PreparedStatement是預編譯的,使用PreparedStatement有幾個好處  
1. 在執行可變參數的一條SQL時,PreparedStatement比Statement的效率高,由於DBMS預編譯一條SQL固然會比屢次編譯一條SQL的效率要高。  
2. 安全性好,有效防止Sql注入等問題。  
3.  對於屢次重複執行的語句,使用PreparedStament效率會更高一點,而且在這種狀況下也比較適合使用batch;  
4.  代碼的可讀性和可維護性。sql

相關文章
相關標籤/搜索