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

面试

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

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

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

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

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

相关推荐
IT爱学堂5 小时前
java版数据结构和算法+AI算法和技能学习指南
java·开发语言
evans在进步6 小时前
LeetCode 394:字符串解码——Java 单栈模拟与嵌套解析详解
java·python·leetcode
m0_547486666 小时前
《Java程序设计与实践 》全套PPT课件2026
java·开发语言
土司大王7 小时前
LeetCode hto100——字母异位词分组
java·算法·leetcode
码匠许师傅7 小时前
【C++ 面试真题】聊聊 C++ 中的 lambda 表达式
java·c++·面试
QCodingDev8 小时前
Spring AI Alibaba ReAct Agent实战:从Tool Calling到Agent,企业AI复杂业务该如何设计?
java·人工智能·agent·ai编程·spring ai
RainCity8 小时前
Java Swing 自定义组件库分享(十六)
java·笔记·后端
赵广陆9 小时前
企业实战:Markdown图片检索
android·java·开发语言
C++、Java和Python的菜鸟9 小时前
第3章 从0开始用若依
java·开发语言
Json____9 小时前
五金制品行业-企业官网源码
java·大数据·数据库·企业站·wwwoop.com