天天看點

預處理語句的使用-代碼典型缺陷分析(一)

BAD:

預處理語句的使用-代碼典型缺陷分析(一)

       盡管這塊代碼能夠正确執行,能夠完成都應的業務邏輯的處理,但這個預處理語句使用是有問題的。因為這個SQL語句是動态拼接而來的,這樣處理和Statement直接處理幾乎一點差別也沒有,一點也沒展現出運用PrearedStatement的優勢。

       正确使用是以參數化的形式給preparedStatement傳參數,而不是動态拼接SQL語句,如下:

GOOD:

預處理語句的使用-代碼典型缺陷分析(一)

       因為以參數化的形式使用PreparedStatement,會對應SQL進行一個預編譯,尤其是多次對資料庫進行操作的話,這樣能很大程度上提高執行的效率,而且這樣方式能夠預防SQL注入攻擊(具體原因請參考我的博文:預處理為什麼能防止SQL注入),是以開發過程總架構DAO層的方法如果有參數化的形式查詢,就不要懶省事直接動态拼接SQL語句。

循環體中用“+”拼接字元串-代碼典型缺陷分析(二)

數組轉List-代碼典型缺陷分析(三)

轉載請注明—作者:Java我人生(陳磊興)   原文出處:http://blog.csdn.net/chenleixing/article/details/44134237

歡迎關注我的部落格,敬請關注代碼典型缺陷分析系列下一篇!

如果過程中有講解的不合理或者不對或者你有更好的想法,還望大牛們留下你們的寶貴文字,以便你、我、大家更好的學習與進步!

繼續閱讀