这个错误是我在在spring中使用mybatis中遇到的本身我传入的字段和数据库中的是一致的,在做MD5加密的时候传入密码,使得字段不对应

@Override
    public SverResponse<User> doLogin( String account, String password) {
       int rs= userDao.checkUser( account);
        if (rs==0){
           return  SverResponse.createByErrorMessage("用户不存在");
       }
       String md5pwd= MD5Util.MD5Encode(password,"utf-8",false);
       User user= userDao.findUserByAccountAndPassword(account, md5pwd);
       if (user==null) {
           return  SverResponse.createByErrorMessage("密码错误");
       }
       user.setPassword(StringUtils.EMPTY);
       return SverResponse.createRespBySuccess("登录成功",user);
    }

可以看出这里传入得是md5pwd,造成了字段不一致,解决方式,在接口里添加@Param注解

public interface UserDao {
    List<User> queryAllUser();
    int checkUser(@Param("account") String account);
    User findUserByAccountAndPassword(@Param("account") String account,@Param("password") String password);
}

完美解决

更多推荐

Parameter ‘xxxx‘ not found. Available parameters are [xxxx, param1, param2]解决方法