Como recuperar e usar um objeto retornado por uma classe?

2 respostas
G

Fala pessoal, tudo tranquilo ?

Estou com uma dúvida que sinto que é algo simples, mas já estou quebrando a cabeça há algum tempo sem solução.

O código abaixo conecta-se ao mysql, faz um select e retorna os dados obtidos dentro de um objeto para que em outra classe seja feito a checagem de usuário e senha. O problema é eu simplesmente não estou conseguindo recuperar/usar este objeto em outras classes, já tentei todo tipo de "sintaxe", mas só levo puxão de orelha do Eclipse.

Segue o código que gera o objeto:

package gerenciadores;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;

import modelos.Usuario;


public class GerenciadorUsuario {
	
	public Usuario recuperaUsuario (){
		
	Usuario usuarioObjeto = null;
	Statement statement = null;
	ResultSet rs = null;
	
	try{
		
		Connection conexao = new Gerenciador().getConnection();
		statement = conexao.createStatement();
		String QueryString = "SELECT usuario AND senha FROM usuarios";

		rs = statement.executeQuery(QueryString);
		
		if(rs.next() == true){
			
			usuarioObjeto = new Usuario();
			
			usuarioObjeto.setUsuario(rs.getString("usuario"));
			usuarioObjeto.setSenha(rs.getString("senha"));
			usuarioObjeto.setNome(rs.getString("nome"));
			
		}
		
		rs.close();
		

	}catch (Exception e) {
		  e.printStackTrace();
	}
		return usuarioObjeto;
	}
}

Para usar este objeto em outra classe eu não teria que fazer algo do tipo:

Usuario usuarioExemplo = recuperaUsuario().usuarioObjeto; ??

E então acessar os dados como usuarioExemplo.campo etc ?

Qualquer luz é bem vinda!

2 Respostas

ErickRAR

A sintaxe do seu SQL está errada. O correto é:

SELECT COLUNA1,COLUNA2,...COLUNA N FROM TABELA
No seu caso ficaria:
SELECT usuario, senha FROM usuarios;

O método recuperaUsuario já retornar um objeto, então ficaria:
[code]Usuario usuarioExemplo = recuperaUsuario();

G
ErickRAR:
A sintaxe do seu SQL está errada. O correto é:
SELECT COLUNA1,COLUNA2,...COLUNA N FROM TABELA
No seu caso ficaria:
SELECT usuario, senha FROM usuarios;

O método recuperaUsuario já retornar um objeto, então ficaria:
[code]Usuario usuarioExemplo = recuperaUsuario();

Muito obrigado pela ajuda.

Porém, se eu tento usar apenas Usuario usuarioExemplo = recuperaUsuario(); o eclipse não reconhece que o método já existe e pede pra criar um novo (?!). Considerando que o método recuperaUsuario() é público e está no mesmo projeto heheheh.

Edit: encontrei a solução

O correto é: Usuario usuarioExemplo = new GerenciadorUsuario().recuperaUsuario();

Agradeço a ajuda. Obrigado

Abração

Criado 19 de maio de 2014
Ultima resposta 19 de mai. de 2014
Respostas 2
Participantes 2