String taskName = paramVo.getTaskName() != null ? paramVo.getTaskName().trim().replace("_", "\\_").replace("%", "\\%") : null;
queryClause = queryClause + " and perdTable.name like '%" + taskName + "%' escape '\\' ";
筛选条件 taskName 将特殊字符 _ 或 % 替换为 \_ 或者 \%
在拼接 sql的末尾部分 添加 escape '\' 最后 执行的实际 sql为
AND perdTable.name LIKE '%部门预算监督\_预算编制\_部门预算项目支出明细表%' ESCAPE '\'
本文探讨了在构建SQL查询时如何避免SQL注入攻击,通过实例展示了如何正确处理特殊字符,如'_'和'%',并使用转义字符确保SQL语句的安全性。

被折叠的 条评论
为什么被折叠?



