可以使用**preparedstatement**,preparedstatement繼承statement,效能上要優於statement。
原因
preparedstatement採用預編譯機制將sql語句中的主幹和引數分別傳給資料庫伺服器,從而使資料庫分辨出哪些是sql語句的主幹,哪些是引數,從而有效防止sql注入。
preparedstatement優點
1、可以防止sql注入
2、採用預編譯機制,把sql語句先編譯,執行效率高於statement
3、sql語句使用?代替引數,然後使用方法設定?的值
preparedstatement和statement比較:
1)語法不同:preparedstatement可以使用預編譯的sql,statement只能使用靜態的sql。
2)效率不同:preparedstatement可以使用快取區,效率比statement高。
3)安全性不同:preparedstatement可以有效防止sql注入,二statement不能防止sql注入。
詳細建立方式
使用jdbc拼接條件查詢語句時如何防止sql注入
使用jdbc拼接條件查詢語句時如何防止sql注入 最近公司的專案在上線時需要進行安全掃瞄,但是有幾個專案中含有部分老 運算元據庫時使用的是jdbc,並且竟然好多都是拼接的sql語句,真是令人抓狂。在具體改造時,必須使用preparedstatement來防止sql注入,普通sql語句比較容易改造,本...
多條件查詢時,拼接原生sql語句的方法
完善 author 張齊 說明 根據前台用輸入的查詢條件,得到乙個原生查詢語句 param searchcondition 引數陣列 return sqlquery 返回的原生sql語句 public sqlquery getsqlquery string searchcondition if se...
where條件拼接查詢
最近在做乙個動態拼接where條件的查詢,大概想到了以下幾種方法 1 內拼接查詢條件,sql也是寫在 內的。2 內拼接查詢條件,sql寫在儲存過程內,將 where條件作為乙個字串傳入儲存過程。這種需要在 內過濾sql注入的問題 3 查詢條件的拼接放到儲存過程內,在儲存過程內對查詢條件值進行引數化。...