正文前先来一波福利推荐: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做为搜索内容带到数据库中查询就好了。