mybatis中#和$的区别
Posted feichen-66
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis中#和$的区别相关的知识,希望对你有一定的参考价值。
一 #和$的区别
1.两者都相当于一个占位符 ,前者会对里的值加上”“ ,而后者则不会
eg:id = #123 -------> id="123" id = $123 -------> id=123
2.可以理解为#会转义处理传入的值,而$只会赋值,其他的不管,
所以前者能很好的预防sql注入,后者则不行,所以能用#的则不要用$
3.有一些场景是不可以使用# ,因为它会转义,所以只能使用$进行赋值处理 ,
eg like 的模糊查询 id like $%123%
所以在使用这两个符号之前想清楚 自己是为了转义赋值还是只是单纯的赋值,大部分都是# 防止注入,少数几个场景记住使用$就行了,
以上是关于mybatis中#和$的区别的主要内容,如果未能解决你的问题,请参考以下文章
MyBatis中resultMap=“Map”和resultType=“Map”区别