mybatis中的#和$的区别

#{}相当于对数据 加上 双引号,

select * from test where id = #{id}

这句话相当于
select * from test where id = ‘1’
而${} 不会加任何处理
select * from test where id =1

我们平时一般都用#{}
总结:

  1. #{} 可以防止sql注入 ${} 不能
    select * from test where name=’ “+name+” ’ and password=’ “+password+” ’
    如果用户密码输入123456’ or ‘abc’= ‘abc则
    select * from test where name=’ admin ’ and password=‘123456’ or ‘abc’= ‘abc’;

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

原文地址:https://www.cnblogs.com/zhi-ming/p/10453183.html