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


     正文前先来一波福利推荐:

    福利一:

    百万年薪架构师视频,该视频可以学到很多东西,是本人花钱买的VIP课程,学习消化了一年,为了支持一下女朋友公众号也方便大家学习,共享给大家。

    福利二:

    毕业答辩以及工作上各种答辩,平时积累了不少精品PPT,现在共享给大家,大大小小加起来有几千套,总有适合你的一款,很多是网上是下载不到。

    获取方式:

    微信关注 精品3分钟 ,id为 jingpin3mins,关注后回复   百万年薪架构师 ,精品收藏PPT  获取云盘链接,谢谢大家支持!

    ------------------------正文开始---------------------------

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

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

  • 相关阅读:
    考试
    aws代理
    ansible debug
    apollo docker 安装 使用镜像 idoop/docker-apollo
    java jvm 内存监控工具visualvm 的使用
    kong dashboard UI 的使用 (使用kong 对服务反向代理,以及解决跨域问题)
    git账号
    kong Gateway && PostgreSQL 的安装(docker)
    apollo 配置中心的安装与使用
    springboot 开发模式 dev
  • 原文地址:https://www.cnblogs.com/gxyandwmm/p/11217235.html
Copyright © 2020-2023  润新知