模糊查询中输入通配符的问题

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

相关文章
相关标签/搜索