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

 时间:2024-11-01 03:14:18

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个原因
  • 法国签证或居留证丢失了怎么办
  • 黄韭盆景怎么种植?
  • 热门搜索
    皮衣发霉怎么办 调教女仆怎么玩 生活欺骗了你 发票作废怎么处理 word乱码怎么办 房屋转让合同怎么写 erp系统是什么意思啊 什么时候高考 如何清理缓存 电信积分怎么来的