说一下mybatis里面#{}和${}的区别

面试

#{}:把值当"参数"传进去

xml 复制代码
where name = #{name}
and age = #{age}

${}:把值当"SQL 代码片段"拼进去

xml 复制代码
select * from ${tableName}

但是使用${}要注意sql注入的问题,就是用户的输入可能会被当做程序代码去执行。

相关推荐
Haooog9 分钟前
Agent 开发中的 Memory:State、短期记忆、长期记忆与 Memory Retrieval
java·agent·memory
砚底藏山河16 分钟前
【量化纯GET实战 #23】多股票相关性:用收益率看板块联动
java·数据库·python·金融·数据分析
抠脚小弟31 分钟前
Spring Cache 使用详解:从入门到实战
java·spring
Java小白笔记34 分钟前
MySQL 8.0 常用内置函数用例
数据库·mysql·mybatis
ZGG00341 分钟前
MySQL 索引详解:B+ 树、聚簇索引与最左前缀
java·数据库·mysql
萧瑟余晖1 小时前
Java深入解析篇五十四之对象模型详解
java·开发语言
张文是假的啊1 小时前
Java | record | Controller逻辑
java·开发语言
勿忘,瞬间1 小时前
Mybatis高阶
java·数据库·mybatis
嘻哈baby3 小时前
Go 函数中的参数为什么不支持默认值?
java·开发语言·jvm
慧都小项3 小时前
MyEclipse 2026:当 Agent、MCP 与 Java 26 进入 Eclipse 工作流
java·eclipse·springboot·copilot·myeclipse