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

    两者都可以在mybatis中用在输入映射

    {}是预编译处理,

    ${}是字符串替换。

    mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值;
    mybatis在处理 $ { } 时,就是把 ${ } 替换成变量的值,完成的是简单的字符串拼接。

    补充:在mybatis中使用#{}可以防止sql注入,提高系统安全性。

    sql注入是什么:
    例如:用户输入的账号密码在代码中是以字符串拼接的方式生成查询语句的,这样用户输入的内容很容易改变我们的原查询代码,这就相当一一个数据库注入问题。
    我们验证密码和账号的时候,如果用户在输入密码的时候 输入 or 1=1;那不管他输入的密码是什么都可以通过。

  • 相关阅读:
    高斯消元
    丑数
    扩展欧几里得算法与线性同余方程
    数论-求逆元
    数论-快速幂-快速乘
    宋逸轩长难句 2
    宋逸轩长难句 1
    c语言 文件
    c语言程序结构
    c语言结构类型
  • 原文地址:https://www.cnblogs.com/zhaoyuan72/p/11597880.html
Copyright © 2011-2022 走看看