JavaSpringMVC返回多个值
我想在执行查询后从函数返回两个值,即result和messageJavaSpringMVC返回多个值,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(
@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;
}
}