MySQL 中 # 和 $ 的区别

  1. # 和 $ 的区别:
    1.  mybatis中使用ParameterType向sql语句传参,在sql语句中引用这些参数的时候,有两种方式:#parameterName 和 $parameterName。
    2.  #parameterName 方式引用参数时,Mybatis会把传入的参数当成是一个字符串,自动添加双引号。
    3. $parameterName 方式引用参数时,不做任何处理,直接将值拼接在SQL语句中。
    4. # 是占位符,$ 是拼接符。
  2. # 可以防止SQL注入:
    1. 使用 # 能够防止SQL注入,$ 不能避免注入攻击。
    2. # 的方式引用参数,mybatis 会先对SQL语句进行预编译,然后再引用值,能够有效防止SQL注入,提高安全性。
    3. $ 的方式应用参数,SQL语句不进行预编译。

你可能感兴趣的:(SQL,mysql,mybatis,数据库)