mybatis中的#和$的区别
#{}相当于对数据 加上 双引号,
select * from test where id = #{id}
这句话相当于
select * from test where id = ‘1’
而${} 不会加任何处理
select * from test where id =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’; -
$方式一般用于传入数据库对象,例如传入表名.