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 如果用#{}则错误