这个错误是我在在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);
}
完美解决
|