Mybatis知识

发布时间 2023-10-04 18:06:25作者: lwx_R

1.#{} 和 ${}

  • {} 解析为SQL时,会将形参变量的值取出,并自动给其添加引号。

username="Amy"

{}可以防止SQL注入而${}却不行

  • ${} 解析为SQL时,将形参变量的值直接取出,直接拼接显示在SQL中
    username=${value} -> username=Amy
    username='${value}' -> username='Amy'
  • 模糊查询场景
    username LIKE '%${value}%'
    username LIKE CONCAT('%', #{username}, '%')
    作用一样 但是${}不安全
  • 只能${}场景
    ORDER BY ${value} ASC 如果用#{}则错误