mybatis中#和$的区别
一 #和$的区别
1.两者都相当于一个占位符 ,前者会对{}里的值加上”“ ,而后者则不会
eg:id = #{123} -------> id="123" id = ${123} -------> id=123
2.可以理解为#会转义处理传入的值,而$只会赋值,其他的不管,
所以前者能很好的预防sql注入,后者则不行,所以能用#的则不要用$
3.有一些场景是不可以使用# ,因为它会转义,所以只能使用$进行赋值处理 ,
eg like 的模糊查询 id like ${%123%}
所以在使用这两个符号之前想清楚 自己是为了转义赋值还是只是单纯的赋值,大部分都是# 防止注入,少数几个场景记住使用$就行了,