Olá a todos, estou iniciando em java e tenho muita dificuldade em orientação a objeto. Preciso fazer uma listagem de produtos usando duas tabelas do bd.
Estou utilizando Postgresql 9 com pgadimIII.
No meu bd tenho as seguintes tabelas:
Produto:
CODPROD
DESCRICAO
EMBALAGEM
CODIGOBARRA
CODCATEG
DTCADASTRO
UNIDADE
CODFORNEC
DTEXCLUSAO
PCOMPRA
PVENDA
CODPROD primary_Key e CODFORNEC Foreign_key
e Fornecedor:
CODFORNEC
RAZAOSOCIAL
SEGUIMENTO
DTCADASTRO
FANTASIA
CODFORNEC Primary_key
Fiz a seguinte sql no próprio bd:
SELECT produto.*,"RAZAOSOCIAL" from produto,fornecedor
where fornecedor."CODFORNEC" = produto."CODFORNECPROD"
E ela me retornou o que eu quero, que são os dados do produto e a razão social do fornecedor.
Mas e agora em java?
tenho o seguinte método no dao Produto:
public static ArrayList<Produto> listar(){
try {
conexao = Conexao.conectar();
ArrayList<Produto> lista = null;
String sql="SELECT produto.*,\"RAZAOSOCIAL\" from produto,fornecedor
where fornecedor.\"CODFORNEC\" = produto.\"CODFORNECPROD\"";
PreparedStatement consulta = conexao.prepareStatement(sql);
ResultSet resultado = consulta.executeQuery();
lista = new ArrayList<Produto>();
while(resultado.next()){
Produto produto = new Produto();
produto.setCodProduto(resultado.getInt("CODPROD"));
produto.setDescricao(resultado.getString("DESCRICAO"));
produto.setEmbalagem(resultado.getString("EMBALAGEM"));
produto.setCodigoBarra(resultado.getInt("CODIGOBARRA"));
produto.setCategoria(resultado.getInt("CODCATEG"));
produto.setDataCadastro(resultado.getDate("DTCADASTRO"));
produto.setUnidade(resultado.getString("UNIDADE"));
produto.setFornecedor(resultado.getInt("CODFORNECPROD"));
produto.setDataExclusao(resultado.getDate("DTEXCLUSAO"));
produto.setPrecoCompra(resultado.getDouble("PCOMPRA"));
produto.setPrecoVenda(resultado.getDouble("PVENDA"));
lista.add(produto);
}
return lista;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
Como exibir a RAZAOSOCIAL do fornecedor na listagem desses produtos?
Como ficaria o método correto? isto vale nota e eu estou sem saber o fazer.
Obrigado pela colaboração!