zoukankan      html  css  js  c++  java
  • Mybatis中#{}和${}的区别

          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,则可以列出整个表里面的所有数据。

  • 相关阅读:
    Fire
    Apple Tree
    访问艺术馆
    三角关系
    字母表
    折纸
    旅行
    单词分类

    圆桌游戏
  • 原文地址:https://www.cnblogs.com/sun27/p/11780937.html
Copyright © 2011-2022 走看看