Ibatis查询条件对于特殊字符的处理方法
Ibatis的查詢語句,在where中如果查詢條件為%或_等特殊字符時(shí),會(huì)把該表所有記錄都顯示出來,所以這些字符需要特殊處理一下:
比如在查詢條件中,輸入的查詢條件中如果帶有%,當(dāng)時(shí)是在工具類包中定義了一個(gè)特殊的工具類
處理特殊字符的代碼
public?static?String?specialCharacterManage(String?chars){
if(null?!=?chars){
if(chars.contains("%")){
chars?=?chars.replace("%",?"\\%");
}
if(chars.contains("_")){
chars?=?chars.replace("_",?"\\_");
}
}
?
return?chars;
}
?
?
這樣,就將輸入的%轉(zhuǎn)義成\%,然后dao層代碼調(diào)用這個(gè)方法對(duì)查詢條件字符串進(jìn)行一下處理。
但要注意:ibatis的xml文件要在sql語句中加上?escape?'\'來把\再去掉,這樣是為了防止數(shù)據(jù)庫(kù)記錄中真的有包含%或_的記錄卻未被查詢出來。
轉(zhuǎn)載于:https://www.cnblogs.com/loveLearning/archive/2012/06/09/2543563.html
總結(jié)
以上是生活随笔為你收集整理的Ibatis查询条件对于特殊字符的处理方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 给asterisk1.8.7添加menu
- 下一篇: 很久没更新博客了,再发协同开发中SVN使