公司原jdbc框架使用c3p0連接池管理連接,有自己的連接封裝,但是操作數據庫的sql語句使用的是string拼接的方式,這嚴重影響到系統的安全(sql注入);
於是心生重新封裝jdbc操作工具類;
初步在查詢和修刪的方法中做了下面的操作,具體方法分享出來,並把做好點封裝和原來封裝做了一個操作時間對比:發現速度也有一定的提升!
在這裏做一個記錄!
execute()方法現在和原來方法對比:
原來:
現在:
其中把捕獲的Exception有使用throw拋出,因爲在實際使用中這個sql錯誤信息關係到系統的設計,需要在這裏拋出。
同樣find()方法也做了同樣的操作。
獲取sql結果使用prepareStatement,參數按照?(佔位符)順序和相應位置的參數實際類型add到list parameters中。
在查詢和修刪中使用getPreparedStatement方法,參數使用java反射添加到PreparedStatement。
具體方法如下:
測試中做了10次的插入和查詢,時間如下
發現使用perpareStatement比statement快,度娘了哈,發現度娘是這樣說的:
(注:應用度娘百科)