[quote=shin_chan]Salve, pessoal do GUJ!
Estou começando com o Java(e, concomitantemente, estou começando com a OO), mas várias dúvidas vêm me assombrando. Uma delas é a seguinte: Há alguma maneira de fazer um método retornar um Objeto ?
Para ser mais específico, esse meu método vai pertencer a um objeto que se encarregará de fazer a conexão, busca, inserção , … , com o BD. No caso, ele irá fazer a busca do elemento desejado no BD e deverá retorná-lo, caso o encontre. Por isso pensei que o retorno desse meu método, caso fosse um objeto, facilitaria muito a minha vida.
Dei uma lida na internet e cheguei a pensar que isso envolve algo referente a ORM (object-relational mapping), ou eu estou fazendo muita confusão ?
Agradeço a atenção de todos vocês.
[/quote]
Sim, você pode retornar um objeto através de um método!
A declaração do método transcorreria da seguinte maneira: (escopo do método) (valor de retorno) (nome do método) b[/b]. Sendo assim, um método pode ter as seguintes assinaturas:
private int somarValores(int primeiroValor, int segundoValor);
public List<String> listarNomesAlunos();
protected void acionarBotaoConcluir(ActionEvent evento);
Suponhamos que você queira retornar o objeto Aluno, listado aqui abaixo:
public class Aluno
{
private int codigo;
private String nome;
// Getters e Setters omitidos...
}
Para criar um método que retorne um objeto, podemos fazer da seguinte maneira:
public Aluno retornarAluno()
{
Aluno aluno = new Aluno();
aluno.setCodigo(1);
aluno.setNome("Zé das Couves");
return aluno;
}
Através dele, se retorna um objeto Aluno, que você usar onde quiser!
Agora, como você quer carregar do banco de dados, podemos fazer da seguinte maneira:
public Aluno retornarAluno(int codigo, Connection connection) throws Exception
{
String query = String.format("Select * From Alunos Where Codigo = %s", codigo);
PreparedStatement statement = connection.prepareStatement(query);
ResultSet result = statement.executeQuery();
Aluno aluno = null;
if (result != null)
{
aluno = new Aluno();
if (result.next())
{
aluno.setCodigo(result.getInt("Codigo"));
aluno.setNome(result.getString("Nome"));
}
}
result.close();
statement.close();
return aluno;
}
Basicamente por aí!
Espero ter ajudado, abraços!!