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

相关推荐
ss2736 分钟前
ai编程Trae cn生成图书管理系统(1)
java·数据库·spring boot·python·flask·fastapi
如竟没有火炬10 分钟前
寻找峰值——二分
java·开发语言·数据结构·python·算法·散列表
Lumbrologist22 分钟前
【C++】零基础入门 · 第 17 节:多线程编程基础
java·c++·算法
tkevinjd23 分钟前
事务、ACID与隔离
java·数据库·sql
阿洛学长26 分钟前
Kali Linux 虚拟机安装(VMware Workstation 17)
java·linux·服务器
AI人工智能+电脑小能手30 分钟前
【大白话说Java面试题 第91题】【Mysql篇】第21题:分布式锁的使用场景和原理?
java·数据库·分布式·mysql·面试
JAVA社区36 分钟前
Java高级全套教程(十三)—— 分布式锁超详细实战详解(原理+三种方案企业级落地)
java·开发语言·分布式·spring cloud·面试·java-zookeeper
Mahir0841 分钟前
MyBatis 延迟加载深度解密:从使用方式到底层动态代理原理全解
java·后端·面试·mybatis
超梦dasgg42 分钟前
Java 生产环境 Maven 实战指南
java·开发语言·maven
贺国亚1 小时前
Agent 工程实践 · 生产落地 Playbook
java·人工智能·aigc