Mybatis中的#{}和${}的区别

#{}和${}他们两都是替换参数的作用,但也还是有很大区别的。

目录

[一、{}](#一、{})

二、#{}

三、注意点


一、${}

它是直接替换过来,不添加其它的什么。

比如下面的sql语句

select *from user where id=${id}

如果id=1,那么他替换过来就还是1,只是单纯的1

二、#{}

他替换过来之后,还会自动加上双引号 。

比如下面的sql语句

select *from user where id=#{id}

如果id=1,那么他替换过来就是"1",sql语句变成了: select *from user where id="1"

三、注意点

尽量使用#{},能用就用#{},因为他的安全性更好。特别注意order by排序用到的是${}

相关推荐
镜花水月linyi13 分钟前
ConcurrentHashMap 深入解析:从0到1彻底掌握(1.3万字)
java·后端
极客Bob13 分钟前
Java 集合操作完整清单(Java 8+ Stream API)
java
雨中飘荡的记忆14 分钟前
Javassist实战指南
java
Knight_AL21 分钟前
JWT 无状态认证深度解析:原理、优势
java·jwt
寒山李白38 分钟前
IDEA中如何配置Java类注释(Java类注释信息配置,如作者、备注、时间等)
java
我要添砖java40 分钟前
<JAVAEE> 多线程4-wait和notify方法
android·java·java-ee
last_zhiyin1 小时前
Oracle sql tuning guide 翻译 Part 6-5 --- Hint使用报告的操作方法和例子
数据库·sql·oracle·sql tunning
Rysxt_1 小时前
Spring Boot SPI 教程
java·数据库·sql
海边夕阳20061 小时前
主流定时任务框架对比:Spring Task/Quartz/XXL-Job怎么选?
java·后端·spring·xxl-job·定时任务·job
q***98521 小时前
VS Code 中如何运行Java SpringBoot的项目
java·开发语言·spring boot