在SSM框架中,@Param主要是用来注解dao类中方法的参数,便于在对应的dao.xml(也可以叫mapper.xml)文件中引用,如:在userDao类中有一个方法:
public User selectByNameAndPwd(@Param("userName") String name,
@Param("Password") String pwd);
注意:sql语句中的#{}和dao类方法中的@Param注解相对应。
而dao类方法括号内只是参数对应,也就是说@Param参数对应的是形参String name, 如 userName对应的是name;
在其对应的dao.xml文件中的查询语句为:
select username,password from user
where username=#{userName} and password=#{Password}
总结
在不使用@Param注解的时候,函数的参数只能为一个,并且在查询语句取值时只能用#{},且其所属的类必须为Javabean。
而使用@Param注解则可以使用多个参数,在查询语句中使用时可以使用#{}或者${}