码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-11-02 12:07:19      阅读:58      评论:0      收藏:0      [点我收藏+]

标签:域名   表单   解析   查看   一个   web   select   服务器   use   

      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中#{}和${}的区别

标签:域名   表单   解析   查看   一个   web   select   服务器   use   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!