mybatis中#和$的区别

一 #和$的区别

   1.两者都相当于一个占位符 ,前者会对{}里的值加上”“ ,而后者则不会

         eg:id = #{123}  ------->  id="123"      id  = ${123}   ------->   id=123 

      

   2.可以理解为#会转义处理传入的值,而$只会赋值,其他的不管,

     所以前者能很好的预防sql注入,后者则不行,所以能用#的则不要用$

 

  3.有一些场景是不可以使用# ,因为它会转义,所以只能使用$进行赋值处理 ,

   eg      like 的模糊查询    id like  ${%123%} 

  所以在使用这两个符号之前想清楚 自己是为了转义赋值还是只是单纯的赋值,大部分都是# 防止注入,少数几个场景记住使用$就行了, 

posted @ 2019-07-25 11:56  生活是一种范  阅读(816)  评论(0编辑  收藏  举报