可能重複:
Difference between Statement and PreparedStatement我們什麼時候使用Statemant或PreparedStatement?
我們什麼時候去衆所周知聲明或者PreparedStatement?
可能重複:
Difference between Statement and PreparedStatement我們什麼時候使用Statemant或PreparedStatement?
我們什麼時候去衆所周知聲明或者PreparedStatement?
如果在查詢中沒有用戶輸入參數,則只能使用Statement。否則,使用PreparedStatement,因爲它提供了避免sql注入的機制。在描述它的機制時,Wiki是good。
無論何時你想從參數中提供參數到你的SQL語句(即你的SQL是而不是一個固定的字符串)。
statment和preparedStatement,當您需要使用SQL來驗證參數或從dataBase中獲取參數時使用。兩種方法都一樣,但preparedStatmnet將幫助ypu避免sql注入。
的PreparedStatement
如果您需要通過用戶提供的數據(以避免SQL注入)。
如果您運行相同的固定語句很多,例如,如果您需要每隔幾秒鐘運行select * from stackoverflow_questions order by created desc limit 10
:原因是:準備語句只解析一次,而語句是(至少在大多數數據庫中)每次解析。
聲明
您能否清楚解釋「它提供了避免sql注入的機制」 – developer 2011-04-08 06:49:58
已更新。你也可以看看這裏:https://www.owasp.org/index.php/Preventing_SQL_Injection_in_Java – 2011-04-08 06:55:32