Mybatis中的${}和#{}区别

1、符号类型
(1)#{}:参数占位符,即预编译
(2)${} :字符串替换符,即SQL拼接

2、防注入问题
(1)#{}:很大程度上能防止sql 注入
(2)${}:不能防止sql 注入

3、参数替换位置
DBMS:数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库,简称DBMS。
(1)#{}:变量替换是在DBMS 中
(2)${}:变量替换是在 DBMS 外
4、参数解析
(1)#{}:将传入的数据都当成一个字符串,会对传入的变量自动加一个单引号。
(2)${}:将传入的参数直接显示生成在sql中,且不加任何引号。

参考链接:https://blog.csdn.net/super_DuoLa/article/details/121971500
posted @   对月当歌  阅读(40)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示