关于@Param()注解
-
基本类型的参数或者String类型的参数需要加上
-
应用类型不需要加
-
如果只有一个基本类型就可以忽略
-
在SQL中引用的就是@Param("uid")中设定的参数。
public interface PeopleMapper { @Select("select * from mybatis.people where id=#{pid};" ) People getPeopleById(@Param("pid") int id); }
#{} 与 ${} 的区别
-
符号#{} 是预编译处理,像传进来的数据会加个" "(#将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号)
-
符号${}就是字符串替换。直接替换掉占位符。$方式一般用于传入数据库对象,例如传入表名.
-
使用 ${} 的话会导致 sql 注入。所以为了防止 SQL 注入,能用 #{} 的不要去用 ${}
浙公网安备 33010602011771号