mybatis中的#和$的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis中的#和$的区别相关的知识,希望对你有一定的参考价值。

mybatis中的#和$的区别

1,#将传入的数据都当成一个字符窜,会对自动传入的数据加一个双引号,如;order  bt   #user)id# ,如果传入的值是111那么解析成sql时的值是order by "111",如果传入的知识id,则解析成的sql为 order by ““id”;

2,$将传入的数据直接显示生成在sql中,如;order by $user_id$,如果传的值是111,那么解析成sql的值为order by user_id,如果传入的知识id,则解析成的sql为order by id;

3,#方式能够很大程度防止sql注入

4,$方式无法防止sql注入

5,$方式一般用于传入数据库对象,例如传入表名

6,一般能用#的就别用$

 

注;mybatis排序时使用order by动态参数是需要注意,用$而不是#

 

以上是关于mybatis中的#和$的区别的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis中的#{}和${}的区别?

Mybatis中的 # 和 $ 的区别

mybatis中的#和$的区别?

mybatis中的#{}和${}区别

关于mybatis中的#{},和${} 的区别

浅谈 Mybatis中的 ${ } 和 #{ }的区别