在模糊查询的SQL语句中,如果有用户输入查询通配符‘%’,使用 select * from table where code like '%condition%'的SQL,会查出全部记录,这个如何解决叱?

if(!StringUtils.isEmpty(_cname)){

/** 处理模糊通配符%和_ */

sql.append(" and c.FCOURSEWARE_NAME LIKE '%").append(EscapeUtils.escapeStr(_cname)).append("%' escape '\\'");

model.addAttribute("_cname", _cname);

}

EscapeUtils的escapeStr方法:

/**

* Description: 处理转义字符%和_,针对ORACLE数据库

* @param str

* @return

*/

public static String escapeStr(String str){

if(str.startsWith("%") || str.startsWith("_")){

str = "\\" + str;

}

if(str.endsWith("_")){

int index = str.indexOf("_");

str = str.substring(0, index) + "\\" + "_";

}

if(str.endsWith("%")){

int index = str.indexOf("%");

str = str.substring(0, index) + "\\" + "%";

}

return str;

}

其实就是利用oracle的escape函数进行转义,把通配符转义成普通符号使用。

/** 总行数 */

String _sql = "select count(1) from ("+sql.toString()+") ";

long rowCount;

if(!StringUtils.isEmpty(keyWords)){

rowCount = courseInfoService.getCountByJdbc(_sql, map);

对用户信息的模糊查找java_java中对SQL模糊查询通配符%的处理相关推荐

  1. ORACLE中使用SQL语句查询所有员工的职位信息,并用DISTINCT消除重复信息。

    ORACLE中使用SQL语句查询所有员工的职位信息,并用DISTINCT消除重复信息. 在sqlplus中执行下面语句: select job from emp: 显示结果如下: SQL> se ...

  2. Springboot项目如何设计接口中敏感字段模糊查询?

    目录 前言 场景分析 实现方案 环境配置 依赖配置 代码实现 总结 前言 在<Springboot项目如何设计接口中敏感字段的加密.解密>和<Springboot项目如何设计接口中敏 ...

  3. MYSQL中LIKE(模糊查询)

    文章目录 0 写在前面 1 代码格式 2 SQL数据准备 3 举例 3.1格式一:`[NOT] where 字段 LIKE '%' `:表示指代任意内容: 3.2 格式四:[NOT] where 字段 ...

  4. python数据库模糊查询_python中数据库like模糊查询方式

    python中数据库like模糊查询方式 在Python中%是一个格式化字符,所以如果需要使用%则需要写成%%. 将在Python中执行的sql语句改为: sql = "SELECT * F ...

  5. 把数据保存到cook_将用户信息保存到Cookie中

    /** * 把用户保存到Cookie * * @param request * @param response * @param member */ private void rememberPwdA ...

  6. 调用API接口登录后,获取用户信息保存到Vuex中并渲染到Vue页面

    文件封装 步骤 核心请求文件 在 apiUse 文件夹中的 index.js 文件写 API接口方法 baseURL + url 后台完整地址 将信息写入 store 文件夹中的 index.js 文 ...

  7. 聊一聊数据加密中如何进行模糊查询

    为了数据安全我们在开发过程中经常会对重要的数据进行加密存储,常见的有:密码.手机号.电话号码.详细地址.银行卡号.信用卡验证码等信息,这些信息对加解密的要求也不一样,比如说密码我们需要加密存储,一般使 ...

  8. mysql常见慢sql,MySQL中慢SQL的查询及原因分析

    准备数据 查看系统变量 SHOW VARIABLES LIKE 'slow_query%'; slow_query_log:慢sql日志开启状态 slow_query_log_file:慢sql日志存 ...

  9. ArcGIS——数据库空间SQL(一、oracle中使用sql空间查询及st_astext等函数出错问题)

    一.引言 将shp文件导入oracle中就想着直接用sql进行普通查询和空间查询,这样直接通过webserver发布就可以不用arcgis server直接进行接口调用了,感觉这样比较接触底层些,所以 ...

最新文章

  1. 关于幸福的开发(搞笑版)
  2. 排序算法(1)—直接插入排序
  3. React从入门到精通系列之(12)深入理解JSX
  4. Innodb隔离级别的实现原理
  5. java统计计数_java – 使用LongAdder计算统计计数器的最大值?
  6. LINUX下启动多个MYSQL服务
  7. python打包工具比较_Python 打包工具对比,Nuitka vs Pyinstaller
  8. Class ZipArchive not found,安装zip扩展
  9. 继暗影机器人跑路,守护者群管作者也宣布退网
  10. 【雕爷学编程】Arduino动手做(3)---微波雷达感应开关模块
  11. R语言使用pROC包的的plot.roc函数对单变量进行ROC分析并可视化ROC曲线、寻找最佳阈值(threshold、cutoff)、在可视化曲线中添加最佳阈值点
  12. Dissect HTTP3
  13. 元宇宙资讯|消息称苹果 MR 头显发售要等到 2025 年
  14. 通信原理及系统系列33——无线信道(快衰落)
  15. 苹果服务器维护不能刷机,iphone刷机失败不开机报错维修方法分享
  16. html如何让table表格垂直(上下)居中
  17. 工厂方法(整理自李建忠C++设计模式视频)
  18. linux 下opencv 安装的问题
  19. 《笨方法学 Python 3》35.分支和函数
  20. MyEclipse安装:MyEclipse安装教程(包含视频教程)

热门文章

  1. [Skr-Shop]购物车之架构设计
  2. 人人都写过的5个Bug!
  3. 百亿估值的Databricks,到底是做什么的?
  4. AI大牛纷纷离职!2021大厂AI Lab现状盘点,网友:名存实亡
  5. MySQL 5.6.35 索引优化导致的死锁案例解析
  6. 代码写的烂,经常被同事怼,教你一招!
  7. 教你轻松将springboot打包成exe程序
  8. 深度排序模型在淘宝直播的演进与应用
  9. 如何从0到1构建一个稳定、高性能的Redis集群?(附16张图解)
  10. 实现大规模图计算的算法思路