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

面试

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

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

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

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

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

相关推荐
SimonKing2 小时前
每天白送4000万Token!这款“龙虾”AI神器,微信就能操控电脑
java·后端·程序员
橘子编程2 小时前
编程语言全指南:从C到Rust
java·c语言·开发语言·c++·python·rust·c#
艾莉丝努力练剑2 小时前
【Linux线程】Linux系统多线程(三):Linux线程 VS 进程,线程控制
java·linux·运维·服务器·c++·学习·ubuntu
鬼先生_sir2 小时前
SpringCloud-openFeign(服务调用)
后端·spring·spring cloud
小白天下第一2 小时前
java+三角测量(两个工业级)+人体3d骨骼关键点获取(yolov8+HRNET_w48_2d)
java·yolo·3d·三角测量
William Dawson2 小时前
Java 后端高频 20 题超详细解析 ①
java·开发语言
编程之升级打怪2 小时前
Java NIO的简单封装
java·开发语言·nio
wuxinyan1232 小时前
Java面试题46:一文深入了解JVM 核心知识体系
java·jvm·面试题
小江的记录本2 小时前
【JEECG Boot】 《JEECG Boot 数据字典使用教程》(完整版)
java·前端·数据库·spring boot·后端·spring·mybatis