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

相关推荐
R-sz1 小时前
mybatis的XML,如何多值匹配,支持单值(=)和多值(IN)查询
xml·mybatis
hexionly1 小时前
演示工厂模式和策略模式的基本用法
java·简单工厂模式·策略模式·开闭原则
shehuiyuelaiyuehao1 小时前
javaSE大总结
java
Paraverse_徐志斌1 小时前
针对 SAAS 私有化部署,如何优雅合并微服务
java·微服务·架构·saas·私有化
黎雁·泠崖1 小时前
Java字符串API:String/StringBuffer/StringBuilder详解
java·开发语言
山枕檀痕1 小时前
JPA Projection 详解(接口投影 / 类投影 / 动态投影 / 原生SQL映射)
java·hibernate·jpa
蓝黑20201 小时前
在order by里优化SQL
数据库·sql
Humbunklung1 小时前
记一次MySQL数据库备份与SQL格式内容导出导入
数据库·sql·mysql
Jack_abu1 小时前
stream().toList()与.collect(Collectors.toList())
java·stream·jdk8