前言:對(duì)于經(jīng)常忙于服務(wù)端開發(fā)的小伙伴來說,與DB層打交道是在正常不過的事了,但是每次頁(yè)面的查詢條件新增往往意味著后端代碼參數(shù)化同比增長(zhǎng),當(dāng)然你可以不使用sqlhelper自帶的參數(shù)化條件查詢,可以直接傳遞參數(shù),這樣一來,可能你寫的代碼就變少了,但是存在一個(gè)隱藏的問題就是sql注入,對(duì)于sql注入我想大家都并不陌生,相關(guān)資源和預(yù)防措施網(wǎng)上千篇一律,有興趣可以自己去了解,常用的注入工具是sqlmapper,有興趣的可以一并去了解。

那么你寫代碼既要保持代碼的優(yōu)雅,語(yǔ)句條數(shù)的少量,有想要保證代碼的安全性能,不被輕易注入,有沒有一種2種都能兼容的方式呢,在對(duì)于一般習(xí)慣拘泥于原有代碼思維的人來看,可能并沒有,但是習(xí)慣于從不同角度思考問題的人來說,條條大路通羅馬,比如我下面說的這種就是基于.NET 自帶的stirngfromatter原理來實(shí)現(xiàn)的一種自動(dòng)化參數(shù)化查詢~~

由于口頭表述不是很好,我直接貼圖來說明了,請(qǐng)看

這是原先的參數(shù)化查詢

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn) View Code

 

步驟一 先實(shí)例化一個(gè)sqlparams實(shí)體

步驟二 將滿足條件的參數(shù)傳入定義好的參數(shù)實(shí)體并賦值(可能需要條件驗(yàn)證)

步驟三 將填充完成后的參數(shù)對(duì)象傳入調(diào)用的sqlhelper查詢接口中

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式