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

面试

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

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

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

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

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

相关推荐
XS03010616 小时前
并发编程二
java·开发语言
雪度娃娃16 小时前
转向现代C++——优先选用限定作用域的枚举型别,而非不限作用域的枚举型别
java·jvm·c++
不是光头 强17 小时前
Java 后端实战进阶:从踩坑到架构的系统化笔记
java·笔记·架构
ID_1800790547317 小时前
企业级淘宝评论 API最简说明,JSON 返回示例
java·服务器·前端
Plan-C-17 小时前
二叉树的遍历
java·数据结构·算法
历程里程碑17 小时前
54 深入解析poll多路复用技术
java·linux·服务器·开发语言·前端·数据结构·c++
无限进步_17 小时前
【C++】可变参数模板与emplace系列
java·c++·算法
逐光老顽童18 小时前
Java 内存模型深度解析与 JVM 调优实战指南
java·架构
写了20年代码的老程序员18 小时前
Excel 导入导出为什么总是把后端逼成字段搬运工
java·excel
ChoSeitaku18 小时前
10.枚举_Record_密封类_debug_API文档_Object类_lombok_Junit
java·数据库·junit