2011-04-08 49 views

回答

4

如果在查詢中沒有用戶輸入參數,則只能使用Statement。否則,使用PreparedStatement,因爲它提供了避免sql注入的機制。在描述它的機制時,Wiki是good

+0

您能否清楚解釋「它提供了避免sql注入的機制」 – developer 2011-04-08 06:49:58

+1

已更新。你也可以看看這裏:https://www.owasp.org/index.php/Preventing_SQL_Injection_in_Java – 2011-04-08 06:55:32

1

無論何時你想從參數中提供參數到你的SQL語句(即你的SQL是而不是一個固定的字符串)。

0

statment和preparedStatement,當您需要使用SQL來驗證參數或從dataBase中獲取參數時使用。兩種方法都一樣,但preparedStatmnet將幫助ypu避免sql注入。

0

的PreparedStatement

  • 如果您需要通過用戶提供的數據(以避免SQL注入)。

  • 如果您運行相同的固定語句很多,例如,如果您需要每隔幾秒鐘運行select * from stackoverflow_questions order by created desc limit 10:原因是:準備語句只解析一次,而語句是(至少在大多數數據庫中)每次解析。

聲明

  • 對於不產生大量的報表,如​​(DDL語句)。
相關問題