Mytbatis动态sql中,select * form user where id = #{xxx}

这里#{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 。