mybatis中#{}与${}的用法小结
1.#{}是占位符,用来进行预编译处理;${}是拼接符,用来进行拼接sql语句;
具体体现在使用#{}后,#{} 对应的变量自动加上单引号 '',拼接符不会加单引号,传什么参数就是什么参数
(注:任何sql语句中条件参数都能使用单引号'',数字类型可以不使用''修饰,但是字符类型必须使用单引号进行修饰。在引号中不要使用'')
2.${}不能防止sql的注入,#{}可以防止sql的注入;
例如:
当deptId=1 or '1=1'就会出问题;
3.#{} 和 ${} 在使用中的技巧和建议