天天看點

jdbc Statement與PreparedStatement

作用:兩者都是建立對象然後通過對象調用 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語句結果集應該是一樣的。我覺得哈