Statement和PreparedStatement的關係和區別

體會Statement和PreparedStatement的關係和區別

Statement 和 PreparedStatement之間的關係和區別.
    關係:PreparedStatement繼承自Statement,都是接口
    區別:PreparedStatement可以使用佔位符,是預編譯的,批處理比Statement效率高    
詳解:

1、PreparedStatement:表示預編譯的 SQL 語句的對象。
   接口:public interface PreparedStatement extends Statement之間的繼承關係
   SQL 語句被預編譯並存儲在 PreparedStatement 對象中。然後可以使用此對象多次高效地執行該語句。
   注:用於設置 IN 參數值的設置方法(setShort、setString 等等)必須指定與輸入參數的已定義 SQL 類型兼容的類型。例如,如果 IN 參數具有 SQL 類型 INTEGER,那麼應該使用 setInt 方法,問號的位置也是應該注意的,因爲第一個問好的位置爲1,第二個問號的位置爲2.以此類推。

PreparedStatedment繼承字statement(繼承自Wrapper接口,用於執行靜態 SQL 語句並返回它所生成結果的對象。,wrapper(在相關實例實際上是代理類時提供獲取委託實例能力的 JDBC 類的接口。接口表示預編譯的sql語句對象

接口 CallableStatement(繼承自PreparedStatedment:用於執行 SQL 存儲過程的接口。使用: {?= call <procedure-name>[(<arg1>,<arg2>, ...)]}
   {call <procedure-name>[(<arg1>,<arg2>, ...)]}

在功能上:PreparedStatedment的預編譯批量操作功能使得代碼盡最大可能提高性能,它的可替換佔位符的功能使得可以防SQL注入功能最重要的是提高了安全性能,它可替換佔位符的功能使得代碼的可讀性和可維護性能提高






發佈了46 篇原創文章 · 獲贊 17 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章