mybatis 参数占位符#{}与${}的区别

0 评论 179 浏览

1、#{}传入的是字符串,会自动加上引号

如:name=张三

select * from table where name=#{name}

则执行:

select * from table where name='张三'

2、${}传入的就是字符本身,不会加引号,所以会有sql注入的风险。

如:name=张三

select * from table where name=${name}

则执行:

select * from table where name=张三

缺少引号此处sql会报语法错误。