这里#{xxx}中的xxx,是要和PoJO属性名一致,还是和你接口传入的参数同名,还是随便写?
比如说class user {
int uid;
}
xxx就必须为uid
还是说 因为 xxxMapper.findById(int uid)传入的参数叫udi,所以xxx应该为uid,还是说,随便写?
xxxMapper.findById(int uid)的话,你可以写
select * from user where id = #{0}
表示第一个参数
如果不用注解,就是跟入参名称一致,即这里的 User 实体的 uid 属性。
还有一种可以在接口方法中用 Param 注解,可以使得 方法调用参数和 SQL 使用参数不一样,例如:
public Student select(@Param("aaaa") String name,@Param("bbbb")int class_id);
这时在 xml 中的 SQL 语句中的参数名称就是 aaaa 。