1、首先我们在User.xml中写一个使用占位符#{}的配置:
2、然后在测试中执行这个sql:
3、通过日志可以看到sql:
4、所以可以看出#{}是一个占位符,输入的参数就会填入?中,而${value}是相当于字符串拼接:
5、不像#{}是用?来占位,而是锂淅铄旰直接拼接,所以这个可能会有sql注入问题,就比如,我们可以填入 参数 or 1=1,例如 password=111 or 1=1,这样无论填什么都会正确了。所以很危险。
6、以上就是关于mybatis中#{}和${}的区别了。如果文章对您有帮助的话,请为我的文章点赞投票,文章都是我平时做项目中遇到问题的积累和总结,谢谢了。