在使用mybatis的过程中,我们的传参方式有#{}和${}两种,很多时候我们都是推荐使用#{}这种方式,接下来我们就一起来看看这两者的区别与使用的场景:
- #{}方式能够很大程度防止sql注入。因为#{}这种方式SQL语句是经过预编译的,它是把#{}中间的参数转义成字符串。
- $方式无法防止Sql注入。因为这种方式是将值传入后再编译sql语句。
- $方式一般用于传入数据库对象,例如传入表名。!!!不过这里我们要记住对传入的参数进行过滤处理。
- 一般能用#的就别用$.
在使用mybatis的过程中,我们的传参方式有#{}和${}两种,很多时候我们都是推荐使用#{}这种方式,接下来我们就一起来看看这两者的区别与使用的场景: