PrepareStatement和Statement
PrepareStatement包含了Sql語句,並且這個語句已經預編譯過了,當其要執行的時候只需要DBMS運行sql語句(替換變量)。當需要多次執行相同句法的SQL時,加快訪問速度。
PrepareStatement對象執行SQL命令時,命令被數據庫進行解析和編譯,然後被放到命令緩衝器,然後每當執行同一個PrepareStatement對象時,它會被再次解析,但是不會被再一次編譯,在緩衝區發現預編譯的命令,重複使用。
總之:
1、在多次執行sql語句的時候Preparestatement要比statement訪問速度快,如果是一條語句的話,後者要快一點,畢竟性能方面前者開銷比較大;
2、前者要要更安全,傳遞給前者的對象參數可以強制進行類型轉換,是開發人員可以確保在插入數據插入數據的時與底層數據庫格式匹配;