mybatis中如何区分#和$的区别

Posted meifanghua

tags:

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

mybatis中如何区分#和$的区别

  

                                      #                       $
传入的数据都变成一个字符串类型,对与传入的数据加上双引号。如果在SQL的语句中order by #user_id#,如果传入的值是**,那么解析成sql时的值为order by "**", 如果传入的值是id,则解析成的sql为order by "id". 是将传入的数据直接拼接到SQL的语句当中例如order by $user_id$ 如果传入的为**那么解析的SQL的语句将变成order by **   如果传入的值为id 那么解析的SQL语句将变成order by id.
#将会很大程度上防止SQL语句的注入  $无法防止SQL的语句注入
 一般情况下都使用# $传入的是列名或者表名可以用来传入动态的参数
   

 

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

轻量级线程和重量级线程的定义是什么,他们的区别是什么?如何区分?

Java编程中如何区分常量和变量?

区分风险和问题

mybatis 中 # 和 $ 的区别及应用场景

mybatis中的$和#的区别

mybatis和hibernate的区别