专栏首页小勇DW3模糊查询中输入通配符的问题

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

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 总结几个最近处理问题中使用个几个代码demo

    --------------------------------------------------------------------------------...

    小勇DW3
  • springboot集成elasticsearch

      在基础阶段学习ES一般是首先是 安装ES后借助 Kibana 来进行CURD 了解ES的使用;

    小勇DW3
  • java使用validator进行校验

    不管是html页面表单提交的对象数据还是和第三方公司进行接口对接,都需要对接收到的数据进行校验(非空、长度、格式等等)。如果使用if一个个进行校验(字段非常多)...

    小勇DW3
  • fastjson—Map和List对象间的转换

    fastjson 是阿里巴巴推出的,一个Java语言编写的高性能JSON 处理器,遵循JSON标准 http://json.org/ ,支持各种JDK 类型。...

    软测小生
  • hbiernate validator 校验实体bean工具类

    因公司项目需要,我们需要在其他地方对实体类经行校验,所有提取出来一个工具类ValidateUtil

    DencyCheng
  • Java基础——File

    File是IO包中唯一表示文件和磁盘目录的对象的路径.包含了创建,删除,重命名,获取文件信息等. 构造函数

    羊羽shine
  • Java字符串去掉空格的几种方法

    其中,\s可以匹配空格、制表符、换页符等空白字符 参考:Java正则表达式https://www.runoob.com/java/java-regular-ex...

    kirin
  • 聊聊CarreraProducer的sendDelay

    DDMQ/carrera-sdk/producer/java/carrera-producer-sdk/src/main/java/com/xiaojukeji...

    codecraft
  • 企业API接口设计(token、timestamp、sign)之具体实现

    Token:访问令牌access token, 用于接口中, 用于标识接口调用者的身份、凭证,减少用户名和密码的传输次数。一般情况下客户端(接口调用方)需要先向...

    lyb-geek
  • 7-Flink的分布式缓存

    Flink提供了一个分布式缓存,类似于hadoop,可以使用户在并行函数中很方便的读取本地文件,并把它放在taskmanager节点中,防止task重复拉取。

    王知无

扫码关注云+社区

领取腾讯云代金券