mybatis中#{}与${}的用法小结

1.#{}是占位符,用来进行预编译处理;${}是拼接符,用来进行拼接sql语句;
具体体现在使用#{}后,#{} 对应的变量自动加上单引号 '',拼接符不会加单引号,传什么参数就是什么参数
(注:任何sql语句中条件参数都能使用单引号'',数字类型可以不使用''修饰,但是字符类型必须使用单引号进行修饰。在引号中不要使用'')
图片说明
图片说明

2.${}不能防止sql的注入,#{}可以防止sql的注入;
例如: 图片说明
当deptId=1 or '1=1'就会出问题;

3.#{} 和 ${} 在使用中的技巧和建议
图片说明

图片说明

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 20:55
阿里国际 Java工程师 2.7k*16.0
程序员猪皮:没有超过3k的,不太好选。春招再看看
点赞 评论 收藏
分享
我已成为0offer的糕手:别惯着,胆子都是练出来的,这里认怂了,那以后被裁应届被拖工资还敢抗争?
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务