映射文件中的#{...} 能不能取到接口中参数值,如果接收不到怎么解决? 改密码接口 public void updateUserPass(Integer userId, String userPass); 映射文件 update users set user_pass = #{userPass} where user_id=#{userId}
时间: 2024-04-10 08:34:57 浏览: 31
解决form中action属性后面?传递参数 获取不到的问题
在映射文件中,你可以使用`#{}`来引用接口方法的参数值。但是在你提供的示例中,映射文件中的`#{userPass}`和`#{userId}`并不能直接获取到接口方法的参数值。
要解决这个问题,你可以在映射文件中使用`@Param`注解来指定参数的名称,以便与接口方法中的参数进行绑定。修改映射文件如下所示:
```xml
update users set user_pass = #{userPass} where user_id = #{userId}
```
然后,在接口方法中使用`@Param`注解来指定参数名称,如下所示:
```java
public void updateUserPass(@Param("userId") Integer userId, @Param("userPass") String userPass);
```
这样就可以正确地将接口方法的参数值传递给映射文件中的SQL语句了。
阅读全文