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

相关推荐
karry_k11 小时前
MyBatis批量insert-select踩坑:useGeneratedKeys=true 可能让PostgreSQL返回大量插入结果
java·后端
karry_k11 小时前
PostgreSQL 在 MyBatis 中执行正常 SQL 失效:一次 DELETE USING 踩坑记录
java·后端
SamDeepThinking14 小时前
从源码到代码:MyBatis-Flex 与 MyBatis-Plus 的逐项对比
java·后端·程序员
她的男孩17 小时前
Spring Boot 接 Flowable 工作流:用 3 个注解搭一个请假审批流程
java·后端·架构
荣码19 小时前
LLM结构化输出:让AI返回JSON而不是废话,我踩了4个坑
java·python
plainGeekDev20 小时前
Gson → kotlinx.serialization
android·java·kotlin
小bo波1 天前
Java Swing 图形用户界面实验 —— 从算术练习到游戏开发的完整实践
java·课程设计·gui·游戏开发·扫雷·swing
咖啡八杯1 天前
GoF设计模式——备忘录模式
java·后端·spring·设计模式