前言:對(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ù)化查詢
View Code
步驟一 先實(shí)例化一個(gè)sqlparams實(shí)體
步驟二 將滿足條件的參數(shù)傳入定義好的參數(shù)實(shí)體并賦值(可能需要條件驗(yàn)證)
步驟三 將填充完成后的參數(shù)對(duì)象傳入調(diào)用的sqlhelper查詢接口中
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線安全]玩轉(zhuǎn)無(wú)線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26