首页 > 其他 > 详细

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

时间:2019-11-02 12:22:36      阅读:77      评论:0      收藏:0      [点我收藏+]

      1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号,而$将传入的数据直接显示生成在sql中  ,例:select * from user where id=#{id} ,如果id为1那么解析成sql就是select * from user where id="1";

如果用的是${id} 解析成sql为select * from user where id= 1 。

     2.#可以防止sql注入,而$不可以。

sql注入:就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。

SQL注入攻击案例:
查看某个表查询的url参数为:?id=1
则通过注入命令:?id=1 or 1=1,则可以列出整个表里面的所有数据。

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

原文:https://www.cnblogs.com/sun27/p/11780937.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!