mybatis中#和$的区别
#{}:占位符号,可以防止sql注入(替换结果会增加单引号‘’)
${}:sql拼接符号(替换结果不会增加单引号‘’,like和order by后使用,存在sql注入问题,需手动代码中过滤)
简单的说就是,#{}在解析是会默认加上单引号
select * from user where name = #{name};
解析后
select * from user where name = ?;
一个 #{ } 被解析为一个参数占位符 ?
而${}
select * from user where name = "Jack";
一般情况下都用#{}
常见的${}就是在模糊搜索 like 和排序 order by 时用。