Olá
Estou retornando uma ArrayList de bean com todos os meus clientes, agora eu gostaria de saber como faria para retornar todos os clientes diretor no bean.
Como ficaria esse metodo?
Deixa eu ver: alguns clientes são diretores, e você quer retornar apenas esses?
Se for isso é só mexer na query, ou, se você tiver um tipo Diretor que extende Cliente, verifique se o cliente é uma instância da classe Diretor. Só pra ilustrar:
Detalhe: como o seu código está a segunda solução não funciona, porque somente clientes são instanciados e populados.
Pergunta: na tabela cliente, o que caracteriza um diretor?
Pedrosa
O ideal é ter um código do cargo que seja FK da tabela de cargos que contenha a descrição do mesmo.
Fox_McCloud
Isso, e então é só você adicionar um where cargo = ?
S
Silva03
na verdade eu quero retornar todos os clientes desse select agora eu só conheço essa forma de retornar para o jsp, agora fiquei com duvida se no bean retornaria todos os clientes tb.
a minha duvida é essa no BEAN posso retornar todos os clientes ou tenho que utilizar um ArrayList ?
Grato
Fox_McCloud
Depende do que você quer e do que você precisa.
Que BEAN é esse? O que ele representa?
O seu método pode retornar um ArrayList, ou um objeto (VO/bean) que contém um atributo ArrayList clientes. Dá na mesma.
Sendo um DAO (Data Access Object) creio que faz mais sentido retornar uma lista…
public List<Cliente> listaClientes(){
ArrayList<Cliente> clientes = new ArrayList<Cliente>();
/* Código para abrir conexão e preparar o statement com a query */
ResultSet rs = pstmt.executeQuery(); // trazendo o resultado do select
while(rs.next()){
Cliente c = new Cliente();
/* Código para popular o novo cliente com dados do rs */
clientes.add(c);
}
/* algum código para fechar os recursos utilizados */
return clientes;
}
Sempre observando o uso de try/catch/finally, liberando os recursos abertos, e tendo cuidado com a existência de transacionamento se for o caso.