正文前先來一波福利推薦:sql
福利一:數據庫
百萬年薪架構師視頻,該視頻能夠學到不少東西,是本人花錢買的VIP課程,學習消化了一年,爲了支持一下女友公衆號也方便你們學習,共享給你們。微信
福利二:架構
畢業答辯以及工做上各類答辯,平時積累了很多精品PPT,如今共享給你們,大大小小加起來有幾千套,總有適合你的一款,不少是網上是下載不到。工具
獲取方式:學習
微信關注 精品3分鐘 ,id爲 jingpin3mins,關注後回覆 百萬年薪架構師 ,精品收藏PPT 獲取雲盤連接,謝謝你們支持!spa
------------------------正文開始---------------------------視頻
模糊查詢中輸入通配符的問題:ci
好比說在搜索框中輸入'%'、'_'、'/'時會出錯,由於這些特殊符號在sql語句查詢的時候是有他特定的意義的,全部這裏要對前臺傳過來的keyword搜索內容進行排除通配符處理,我是在工具類中寫了一個方法代碼以下:字符串
/**
* 根據搜索特殊字符串
* @param id
* @return 取不到返回null
*/
public static String specialStr(String str){
Integer index=str.indexOf("%");
Integer index1=str.indexOf("_");
Integer index2=str.indexOf("\\");
StringBuffer stringBuffer = new StringBuffer(str);
if(index!=-1) {
stringBuffer.insert(index, "\\");
}
if(index1!=-1) {
stringBuffer.insert(index1, "\\");
}
if(index2!=-1) {
stringBuffer.insert(index2, "\\");
}
return stringBuffer.toString();
}
而後在controller層導入該工具類,使用specialStr方法就ok了,代碼以下:
String keyword = request.getParameter("keyword");
String keyword1 = "";
if (!"".equals(keyword) && keyword != null) {
keyword1 = CommonUtils.specialStr(request.getParameter("keyword"));// 排除%等通配符
}最後將keyword1做爲搜索內容帶到數據庫中查詢就好了。