【sql语句中的符号】(通配符+#{}+${})
背景:别人写的代码,由于数据库添加了一个is_delete(0:未删除;1:已删除)字段用来做假删除,大家都知道,如果说一条数据删除了,那么肯定是不能查出来的了,因此,我的任务就是修改由于添加一个字段而引发的灾难。
问题:
我们的sql:
selecti.id,i.project_id,i.sets,i.name,i.length,i.likes,i.url,i.type,p.project_name
fromt_information as i, t_project as p
where1=1and i.project_id=p.idand i.is_delete=0<if test="name!=null and name!=''">and i.name like ('%${name}%')</if><if test="orderBy !=null and orderBy!=''">order by ${orderBy}</if><bind name="pageNum" value="(pageNum-1)*pageSize"></bind>limit ${pageNum},${pageSize}
我们用了mybatis的动态sql中的if语句:
//如果name不为空,就在上面的sql语句后面拼接上and name
<if test="name!=null and name!=''">and i.name like ('%${name}%')
</if>
selecti.id,i.project_id,i.sets,i.name,i.length,i.likes,i.url,i.type,p.project_namefromt_information as i, t_project as pwhere1=1and i.project_id=p.id<if test="name!=null and name!=''">and i.name like ('%#{name}%')</if><if test="orderBy !=null and orderBy!=''">order by ${orderBy}</if><bind name="pageNum" value="(pageNum-1)*pageSize"></bind>limit #{pageNum},${pageSize}
这里用#{}防止了sql注入
这里的第一个#{}也是防止sql注入,但是第二个为什么不需要改成#{}呢(按照idea提示进行的修改)?
还有一个问题,为什么按照现在的修改完成之后,发布之后该sql语句反而不能使用了呢???
望大神指导
【sql语句中的符号】(通配符+#{}+${})相关推荐
- oracle sql 符号,Oracle的SQL语句中如何处理‘’符号
Oracle的SQL语句中如何处理'&'符号 在Oracle中,如果在sql中出现'&'符号,会被自动转义: 而被要求输入在&符号后跟随的字符串的值,例如: update ta ...
- SQL语句中的“@”符号的作用
我遇到一个sql,它是这样的: CString sqlstr = "SELECT A.* FROM TTTTT A WHERE 1 = 1" " AND A.BASE = ...
- 03-映射文件的sql语句中 #{} 和 ${} 的区别以及实现模糊查询
映射文件的sql语句中 #{} 和 ${} 区别以及实现模糊查询 目录 sql 语句中的 #{} #{} 模糊查询错误用法 #{} 实现模糊查询 sql 语句中的 ${} ${} 实现模糊查询 #{} ...
- 【MyBatis笔记】03-映射文件的sql语句中 #{} 和 ${} 的区别以及实现模糊查询
映射文件的sql语句中 #{} 和 ${} 区别以及实现模糊查询 sql 语句中的 #{} #{} 模糊查询错误用法 #{} 实现模糊查询 sql 语句中的 ${} ${} 实现模糊查询 #{} 与 ...
- sql语句中left join和inner join中的on与where的区别分析
原文:sql语句中left join和inner join中的on与where的区别分析 关于SQL SERVER的表联接查询INNER JOIN .LEFT JOIN和RIGHT JOIN,经常会用 ...
- oracle修改表结构的sql命令是什么,sql语句中修改表结构的命令是什么?
sql语句中修改表结构的命令是:"ALTER TABLE"命令. ALTER TABLE 语句用于在已有的表中添加.删除或修改列. SQL ALTER TABLE 语法 如需在表中 ...
- Sql 语句中 IN 和 EXISTS
原文链接: (2条消息)Sql 语句中 IN 和 EXISTS 的区别及应用 - jcpp9527的博客 - CSDN博客 https://blog.csdn.net/wqc19920906/art ...
- SQL点滴31—SQL语句中@@IDENTITY和@@ROWCOUNT区别
原文:SQL点滴31-SQL语句中@@IDENTITY和@@ROWCOUNT区别 SQL语句中@@IDENTITY和@@ROWCOUNT区别 在一条 INSERT.SELECT INTO 或大容量复制 ...
- SQL语句中between and 范围
2019独角兽企业重金招聘Python工程师标准>>> 经过验证 SQL语句中的between 范围1 and 范伟2 语句是包括的范围1和范围2的 SQL> create ...
最新文章
- cmake编译出错:No CMAKE_CXX_COMPILER could be found.
- 住房要注意用电安全-记录一下失火
- 练习、C# 结构体、冒泡排序
- HTML5原生拖拽/拖放(drag drop)详解
- php 结尾,PHP“意外结束”
- android+图标+i_explore+无背景,Android Studio中Android Device Monitor中的File Explore不显示文...
- huffman树_笃学不倦|c语言构造哈夫曼树哈夫曼编码
- azure db 设置时区_将数据迁移到Azure Cosmos DB
- python:threading多线程模块-使用Queue模块保持线程同步
- pthread_cleanup_push()/pthread_cleanup_pop()的详解
- 【渝粤教育】广东开放大学 商务交际听说 形成性考核 (31)
- c语言定义函数return,在C语言的函数定义中,如果不需要返回结果,就可以省略return语句。...
- Python批量下载抖音大V主页视频
- JS 不可逆加密后半部分,去混淆还原代码。
- 一个 Duang~ 的CSS3动画
- Delphi编程中流的使用
- 我在Blue Nile(蓝色尼罗河)上通过python爬取一百万颗钻石,最终选出心仪的一颗
- OUC暑期培训(深度学习)——第一周学习记录:深度学习和pytorch基础
- 非结构化数据的定义及处理方法
- PDF在线转Word文本软件
热门文章
- 虚拟机如何访问主机服务器,主机怎么访问虚拟机
- HTTP请求报文和响应报文
- STM32 时钟总结
- Spring MVC数据绑定 ----从入门到精通篇(三) POJO数据类型的绑定和自定义数据绑定
- 刺客信条奥德赛缺少dll文件_刺客信条奥德赛打不开怎么办 刺客信条奥德赛无法运行解决办法...
- 趣头条野蛮生长逐渐降速 后续如何提振股价走势?
- Windows10最新版20H2系统下载与安装
- 【软件工程】机票预订系统的用例图及用例说明
- HCIE之路-1 华为数据通信基础思维导图(不定期更新,纯个人理解,欢迎批评指正!!!)
- 孙茂松:机器能创造吗?