1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #{user_id},如果传入的值是111,那么解析成sql时的值为order by '111', 如果传入的值是id,则解析成的sql为order by 'id'.
2. $将传入的数据直接显示生成在sql中。如:order by ${user_id},如果传入的值是111,那么解析成sql时的值为order by 111, 如果传入的值是id,则解析成的sql为order by id.
3. #方式能够很大程度防止sql注入。
4.$方式无法防止Sql注入。
5.$方式一般用于传入数据库对象,例如传入表名、列名.
6.一般能用#的就别用$.
MyBatis排序时使用order by 动态参数时需要注意,用$而不是#
字符串替换
默认情况下,使用#{}格式的语法会导致MyBatis创建预处理语句属性并以它为背景设置安全的值(比如?)。这样做很安全,很迅速也是首选做法,有时你只是想直接在SQL语句中插入一个不改变的字符串。比如,像ORDER BY,你可以这样来使用:
ORDER BY ${columnName}
这里MyBatis不会修改或转义字符串。
重要:接受从用户输出的内容并提供给语句中不变的字符串,这样做是不安全的。这会导致潜在的SQL注入攻击,因此你不应该允许用户输入这些字段,或者通常自行转义并检查。
转自:http://weijun726.blog.163.com/blog/static/87342299201362652950398/
相关推荐
mybatis面试题#和$的区别.pdf
主要介绍了Mybatis中#{}和${}传参的区别及#和$的区别小结 的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
主要介绍了浅谈Mybatis #和$区别以及原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
下面小编就为大家带来一篇浅谈mybatis中的#和$的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
今天小编就为大家分享一篇关于Mybatis下动态sql中##和$$的区别讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
很全很全:并且有项目实例 例如:mybatis中的#和$的区别? 1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111",...
mybatis和ibatis总体来讲都差不多的。下面小编给大家探讨下mybatis中#{}和${}的区别,感兴趣的朋友一起学习吧
#{变量名}可以进行预编译、类型匹配等操作,#{变量名}会转化为jdbc的类型。很多朋友不清楚在mybatis中#号与美元符号的不同,接下来通过本文给大家介绍两者的区别,感兴趣的朋友参考下吧
下面小编就为大家带来一篇浅谈mybatis中的#和$的区别 以及防止sql注入的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
主要介绍了Mybatis之#{}与${}的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
09参数处理、# 和 $ 的区别.md
主要介绍了Mybatis中#{}与${}的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
主要介绍了Mabitis中的#与$符号区别,需要的朋友可以参考下
主要介绍了Mybatis中的 ${} 和 #{}区别与用法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
主要介绍了mybatis #{}和${}的区别、传参、基本语法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
主要介绍了Mybatis中的 ${ } 和 #{ }的区别使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
16. Mybatis 中#和$的区别? 17. Mybatis 的使用步骤是什么样的? 18. 使用 MyBatis 的 mapper 接口调用时有哪些要求 19. mybatis的缓存机制,一级,二级介绍一下。 20. 视图解析器本质是什么 21. 统一解决get...
本文详细介绍了在Mybatis框架 mapper.xml文件中parameterType传递参数常用的几种方式,以及如何实现的案列,同时#和$传参的区别。
主要介绍了Mybatis Plus和Mybatis的区别,需要的朋友可以参考下
自己总结的myBatis和ibatis的区别