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动态参数是需要注意,用$而不是#