1. 程式人生 > >JDBC學習(五、預編譯語句物件)

JDBC學習(五、預編譯語句物件)

一、PreparedStatement介面的常用方法

是Statement的子介面,表示預編譯的 SQL 語句的物件.設定佔位符引數(告訴SQL中的?到底表示哪一個值):
 void  setXxx(int parameterIndex, Xxx value): xxx表示資料型別,比如:String,int,Long等.
        parameterIndex:設定第幾個佔位符?(從1開始).
        value:需要設定的引數值.
int executeUpdate():可以執行DML(增刪改)和DDL語句,如果是執行DDL什麼都不返回,執行DML返回受影響的行數.
ResultSet executeQuery() :執行給定的 DQL語句,該語句執行之後返回一個 ResultSet 物件。
注意:此時不需要傳遞SQL引數。

void close():關閉語句物件。

二、Statement和PreparedStatement的區別

PreparedStatement 的優點:
1).PreparedStatement 程式碼的可讀性和可維護性. (SQL模板,使用佔位符表示引數)
2).PreparedStatement 能最大可能提高效能(預編譯),MySQL不支援PreparedStatement的效能優化.
3).PreparedStatement 能保證安全性,可以防止SQL注入危機
選擇:使用PreparedStatement。