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排序用到的是${}

相关推荐
xmjd msup4 分钟前
spring security 超详细使用教程(接入springboot、前后端分离)
java·spring boot·spring
9523629 分钟前
SpringBoot统一功能处理
java·spring boot·后端
Lyyaoo.32 分钟前
优惠券秒杀业务分析
java·开发语言
消失的旧时光-194333 分钟前
统一并发模型:线程、Reactor、协程本质是一件事(从线程到协程 · 第6篇·终章)
java·python·算法
勿忘初心122136 分钟前
Java 国密 SM4 加密工具类实战(Hutool + BouncyCastle)|企业级数据加密 + 兼容 JDK8
java·数据安全·数据加密·后端开发·企业级开发·国密 sm4
庞轩px40 分钟前
第8篇:原子类与CAS底层原理——无锁并发的实现
java·cas·乐观锁·aba·无锁编程·自旋
rleS IONS1 小时前
SpringBoot中自定义Starter
java·spring boot·后端
苍煜1 小时前
慢SQL优化实战教学
java·数据库·sql
AI进化营-智能译站2 小时前
ROS2 C++开发系列16-智能指针管理传感器句柄|告别ROS2节点内存泄漏与野指针
java·c++·算法·ai
TeDi TIVE2 小时前
springboot和springframework版本依赖关系
java·spring boot·后端