JDBC下解決特殊字元的方式
剛剛解決了訪問資料庫的特殊字元的問題,重要的幾點如下:
1)儘量使用預處理查詢,JDBC的預處理解決了大多數特殊字元的問題,較好的解決了SQL隱碼攻擊
2)對於查詢字元中帶有%和_的,SQL語句中like的,一般會全部查出,如果要匹配%和_,應該加入ESCAPE,並在%前加入轉義字元,如"\"
匹配50%:
3)如果查詢字元中帶有%或_,並且帶有\,需要首先將\轉義:\\,在用2)中方式用escape對%和_轉義
匹配50\%:
1)儘量使用預處理查詢,JDBC的預處理解決了大多數特殊字元的問題,較好的解決了SQL隱碼攻擊
2)對於查詢字元中帶有%和_的,SQL語句中like的,一般會全部查出,如果要匹配%和_,應該加入ESCAPE,並在%前加入轉義字元,如"\"
匹配50%:
select * from A where A.data like '%50\%% escape '\'
3)如果查詢字元中帶有%或_,並且帶有\,需要首先將\轉義:\\,在用2)中方式用escape對%和_轉義
匹配50\%:
select * from A where A.data like '%50\\\%% escape '\'
if(keyword.contains("%") || keyword.contains("_")){
keyword = keyword.replaceAll("\\", "\\\\")
.replaceAll("\\%", "\\\\%")
.replaceAll("\\_", "\\\\_");
}
相關文章
- mongodb密碼特殊字元的解決方法MongoDB密碼字元
- exp 時遇到密碼有特殊字元(!@#)解決方法密碼字元
- 解決oracle net manager不允許使用特殊字元的問題Oracle字元
- 特殊字元字元
- Bash的特殊字元字元
- html的特殊字元HTML字元
- 文字中的特殊字元字元
- HTML特殊字元HTML字元
- perl 特殊字元字元
- 解決XML下無效字元的問題XML字元
- 解決Mac版微信因為特殊字元記憶體飆升卡死的方法Mac字元記憶體
- 特殊字元的處理。。¥$$$字元
- 正則關於特殊字元下劃線_的 校驗字元
- linux shell特殊字元詳解彙總Linux字元
- 如何去除特殊字元字元
- Oracle 去特殊字元Oracle字元
- 【HTML】08特殊字元HTML字元
- Linux Shell程式設計(5)——shell特殊字元(下)Linux程式設計字元
- react 渲染 html 特殊字元的bugReactHTML字元
- url中的特殊字元問題字元
- Bash 中的特殊字元大全字元
- perl替換特殊字元字元
- HTML特殊字元顯示HTML字元
- 特殊字元——反斜槓(\)字元
- mysql替換特殊字元MySql字元
- sql中使用特殊字元SQL字元
- HTML特殊字元大全HTML字元
- java 替換特殊字元Java字元
- Oracle 特殊字元轉義Oracle字元
- Linux 下如何處理包含空格和特殊字元的檔名Linux字元
- Linux下刪除亂碼或特殊字元檔案Linux字元
- mybatis 對特殊字元的模糊查詢MyBatis字元
- 關於sqlite的特殊字元轉義SQLite字元
- URL地址特殊字元轉換字元
- 特殊字元、Date、JS應用字元JS
- js html 特殊字元轉義JSHTML字元
- SQL特殊字元處理zzSQL字元
- 特殊字元大集合字元