Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaSpringMVC返回多个值_Java_Spring_Spring Mvc - Fatal编程技术网

JavaSpringMVC返回多个值

JavaSpringMVC返回多个值,java,spring,spring-mvc,Java,Spring,Spring Mvc,我想在执行查询后从函数返回两个值,即result和message @Repository @Transactional(value = "myTransactionManager") public class UserFunctionsDAOImpl implements UserFunctionsDAO { @Autowired private SessionFactory sessionFactory; public void setSessionFactory(

我想在执行查询后从函数返回两个值,即result和message

@Repository
@Transactional(value = "myTransactionManager")
public class UserFunctionsDAOImpl implements UserFunctionsDAO {

    @Autowired
    private SessionFactory sessionFactory;

    public void setSessionFactory(SessionFactory sessionFactory)
    {
        this.sessionFactory = sessionFactory;
    }

    @Override
    public List<Object[]> registerUser(Users user) {
        // TODO Auto-generated method stub
        ReturnData returnData = new ReturnData(); 

        Query query = this.sessionFactory.getCurrentSession().createQuery("SELECT COUNT(*) FROM Users WHERE emailID = :email_ID OR mobileNo = :mobile_No");
        query.setString("email_ID", user.getEmailID());
        query.setString("mobile_No", user.getMobileNo());

        if(((long)query.uniqueResult()) > 0)
        {
            returnData.setResult(false);
            returnData.setMessage("Email or Mobile number already exists");
            return (List<Object[]>);
        }
        else
        {
            Query query = this.sessionFactory.getCurrentSession().createSQLQuery("");
            query.executeUpdate();
            returnData.setResult(true);
            returnData.setMessage("User Registered Successfully");
            return (List<Object>[])returnData;
        }
    }

}

public class ReturnData
{
    Boolean result;
    String message;

    //getters and setters
}

如何解决此错误?

您返回的对象无法强制转换为方法的返回类型

重写方法,如下所示:

@Override
    public ReturnData registerUser(Users user) {
      // TODO Auto-generated method stub
    ReturnData returnData = new ReturnData(); 

    Query query = this.sessionFactory.getCurrentSession().createQuery("SELECT COUNT(*) FROM Users WHERE emailID = :email_ID OR mobileNo = :mobile_No");
    query.setString("email_ID", user.getEmailID());
    query.setString("mobile_No", user.getMobileNo());

    if(((long)query.uniqueResult()) > 0)
    {
        returnData.setResult(false);
        returnData.setMessage("Email or Mobile number already exists");
        return returnData;
    }
    else
    {
        Query query =       this.sessionFactory.getCurrentSession().createSQLQuery("");
        query.executeUpdate();
        returnData.setResult(true);
        returnData.setMessage("User Registered Successfully");
        return returnData;
    }
}

您将返回无法强制转换为方法返回类型的对象

重写方法,如下所示:

@Override
    public ReturnData registerUser(Users user) {
      // TODO Auto-generated method stub
    ReturnData returnData = new ReturnData(); 

    Query query = this.sessionFactory.getCurrentSession().createQuery("SELECT COUNT(*) FROM Users WHERE emailID = :email_ID OR mobileNo = :mobile_No");
    query.setString("email_ID", user.getEmailID());
    query.setString("mobile_No", user.getMobileNo());

    if(((long)query.uniqueResult()) > 0)
    {
        returnData.setResult(false);
        returnData.setMessage("Email or Mobile number already exists");
        return returnData;
    }
    else
    {
        Query query =       this.sessionFactory.getCurrentSession().createSQLQuery("");
        query.executeUpdate();
        returnData.setResult(true);
        returnData.setMessage("User Registered Successfully");
        return returnData;
    }
}