码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-07-20 13:10:50      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:返回   return   special   keyword   int   出错   mon   indexof   代码   

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

比如说在搜索框中输入‘%‘、‘_‘、‘/‘时会出错,因为这些特殊符号在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作为搜索内容带到数据库中查询就行了。

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

标签:返回   return   special   keyword   int   出错   mon   indexof   代码   

原文地址:https://www.cnblogs.com/gxyandwmm/p/11217235.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!