mybatis中占位符#{}和${}的区别

 时间:2026-04-28 03:24:21

1、首先我们在User.xml中写一个使用占位符#{}的配置:

mybatis中占位符#{}和${}的区别

2、然后在测试中执行这个sql:

mybatis中占位符#{}和${}的区别

3、通过日志可以看到sql:

mybatis中占位符#{}和${}的区别

4、所以可以看出#{}是一个占位符,输入的参数就会填入?中,而${value}是相当于字符串拼接:

mybatis中占位符#{}和${}的区别

5、不像#{}是用?来占位,而是直接拼接,所以这个可能会有sql注入问题,就比如,我们可以填入 参数 or 1=1,例如 password=111 or 1=1,这样无论填什么都会正确了。所以很危险。

mybatis中占位符#{}和${}的区别

6、以上就是关于mybatis中#{}和${}的区别了。如果文章对您有帮助的话,请为我的文章点赞投票,文章都是我平时做项目中遇到问题的积累和总结,谢谢了。

  • 避孕药可以治疗子宫息肉吗?
  • 三元桥地铁线怎么去
  • 引起肩部僵硬,疼痛和麻木的6个原因
  • 法国签证或居留证丢失了怎么办
  • 黄韭盆景怎么种植?
  • 热门搜索
    汤圆怎么煮好吃 酱猪蹄的家常做法 绳结编法大全 鱼的做法大全家常 怎么让脸变瘦 快速有效的减肥方法 四川腊肉的腌制方法 怎么看电脑是多少位的 冬笋怎么做好吃 玻璃体混浊的治疗方法