作用:兩者都是建立對象然後通過對象調用 executeQuery() 方法執行 sql 語句
注意:
PreparedStatement效率更高
主要用于解決使用Statement對象多次執行同一SQL語句的效率問題
在資料庫支援預編譯的情況下預先将SQL語句編譯,
當多次執行這條SQL語句時,可以直接執行編譯好的SQL語句
PreparedStatement更加安全
PreparedStatement将sql變量抽離出sql語句,執行更加安全
案例:
select * from user where username = 'user' and userpwd = '' or '1' = '1';
select * from user where username= '"+varname+"' and userpwd='"+varpasswd+"'";
相關面試題
關于PreparedStatement與Statement描述錯誤的是()
A. 一般而言,PreparedStatement比Statement執行效率更高
B. PreparedStatement會預編譯SQL語句
C. Statement每次都會解析/編譯SQL,确立并優化資料擷取路徑
D. Statement執行掃描的結果集比PreparedStatement大
解析我覺得答案是 D 我沒有找到答案啊
SQL 語句從資料庫查詢中擷取資料,并将資料傳回到結果集,同一SQL語句結果集應該是一樣的。我覺得哈