/*$和#都可以获取参数,但是 $不会拼接字符串不安全低效,#会自动拼接字符串而且高效安全避免了SQL攻击问题*/
- #{} 是 占位符 :动态解析 -> 预编译 -> 执行
- ${} 是 拼接符 :动态解析 -> 编译 -> 执行
-
select * from `role` where name = ${name}
因为${}是拼接符,会直接替换,所以实际是:
select * from `role` where name = '富贵' or name = '狗蛋'
-
select * from `role` where name = #{name}
因为#{}是占位符,所以实际是:
select * from `role` where name = '富贵 or name = 狗蛋'