Programação Java JSF

12 respostas
J

Alguém pode me ajudar ? tenho um banco de dados postegreSQL com três tabelas Authors, Titulo e Isbn tenho que criar uma aplicação Java Web utilizando JSF e tenho que mostrar as três tabelas ao mesmo tempo e criar uma consulta onde consiga consultar qualquer valor nas três tabelas?

12 Respostas

igor_ks

E qual a duvida?

J

Eu não consigo criar uma ArrayList que mostre as 3 tabelas

RaulCrash

Você quer mostrar estas “3 tabelas” em uma dataTable(componente JSF) ?

J

isso mesmo

RaulCrash

Que tal usar Polimorfismo? Criar algo + ou - assim:

public class Pessoa {
   private Long id;
   private String nome;

//getters and setters
}
public class PessoaFisica extends Pessoa {
    private Long rg;

//getters and setters
public class PessoaJuridica extends Pessoa {
    private String cpf;

//getters and setters

Então sua list seria:

List<Pessoa> todasAsPessoasDoSistemaFisicaEJuridica = new ArrayList<Pessoa>();

//no qual vc terá acesso a id e nome independente se é da classe Fisica ou Juridica

Você pode adotar de extrair os dados para um DTO também. Fica ao seu critério.

J

Vou tentar aqui Obrigado!

J

Consegue me ajudar também com uma pesquisa onde eu possa procurar dados na tabela usando ex. Nome ou Id utilizando padrao MVC do JSF

RaulCrash

O que vc tá usando? Hibernate ou Jdbc na unha? Cadê o código que faz esta busca?

J

Estou Usando JDBC nao posso usar Hibernate por que e trabalho academico

J
public List selectAll(){

List lsAuthor = null;

String sql = SELECT id, nome, sobrenome, email, telefone 

+ FROM author ORDER BY id;

try {

con = openConnection();

ps = con.prepareStatement(sql);

rs = ps.executeQuery();

lsAuthor = new ArrayList();

while (rs.next()){

Author a = new Author();

a.setId(rs.getLong(id));

a.setNome(rs.getString(nome));

a.setSobrenome(rs.getString(sobrenome));

a.setEmail(rs.getString(email));

a.setTelefone(rs.getString(telefone));

lsAuthor.add(a);

}

}catch (Exception e){

System.err.println(---------------------);

System.err.println(Erro: " + e.getMessage());

e.printStackTrace();

System.err.println(”---------------------");

} finally {

closeConnection(con, ps, rs);

}

return lsAuthor;

}

Eu uso esse codigo para que eu retorne uma lista do banco ai eu preciso fazer uma consulta na tabelo so que nao sei como montar o codigo para fazer a busca

RaulCrash

Segue este tutorial ai e adapta a sua necessidade:
https://www.mkyong.com/jdbc/jdbc-preparestatement-example-select-list-of-the-records/

J

Obrigado

Criado 14 de dezembro de 2016
Ultima resposta 14 de dez. de 2016
Respostas 12
Participantes 3