Olá pessoal
Preciso montar uma lista que resulta de select em 3 tabelas. Até que eu tentei começar mas não rendeu, não consigo montar a lista, quando eram listas de uma classe só era fácil, agora que é mais de uma não sei fazer.
Vou utilizar esta lista num datatable do primefaces.
Por favor, corrijam o meu código. a sql tá funcionando certinho. UsuarioBean.javaimport dao.FabricaConexao;
import java.io.Serializable;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import modelo.Funcao;
import modelo.Funcionario;
import modelo.Usuario;
@ManagedBean
@SessionScoped
public class UsuarioBean implements Serializable {
Connection conexao = new FabricaConexao().fazConexao(); //Cria uma nova conexao ao banco de dados
//cria um novo objeto(modelo) usuario e seus gets e sets
Usuario usuario = new Usuario();
Funcionario funcionario = new Funcionario();
Funcao funcao = new Funcao();
public Funcao getFuncao() {
return funcao;
}
public void setFuncao(Funcao funcao) {
this.funcao = funcao;
}
public Funcionario getFuncionario() {
return funcionario;
}
public void setFuncionario(Funcionario funcionario) {
this.funcionario = funcionario;
}
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
public List<Usuario> getusuarios() {
List<Usuario> usuarios = new ArrayList<Usuario>();
String sql = "select u.codUS, f.nomeFuncionario, u.idpermissao, u. login, c.cargo from usuario as u,"
+ " funcionario as f,funcao as c where u.codfuncionario=f.codFuncionario and u.codfuncao= c.codFuncao";
PreparedStatement stmt;
try {
stmt = this.conexao.prepareStatement(sql);
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
Usuario usuario = new Usuario();
Funcionario funcionario = new Funcionario();
Funcao funcao = new Funcao();
int codus = rs.getInt("codUs");
String nomeFuncionario = rs.getString("nomeFuncionario");
int idpermissao = rs.getInt("idpermissao");
String login = rs.getString("login");
String cargo = rs.getString("cargo");
usuario.setCosUs(codus);
usuario.setIdpermissao(idpermissao);
usuario.setLogin(login);
funcionario.setNomeFuncionario(nomeFuncionario);
funcao.setCargo(cargo);
usuarios.add(usuario);
}
} catch (SQLException ex) {
Logger.getLogger(UsuarioBean.class.getName()).log(Level.SEVERE, null, ex);
}
return usuarios;
}
}
public class Usuario {
private int cosUs;
private int codfuncionario;
private int idpermissao;
private String login;
private String senha;
private int codfuncao;
public int getCodfuncao() {
return codfuncao;
}
public void setCodfuncao(int codfuncao) {
this.codfuncao = codfuncao;
}
public int getCodfuncionario() {
return codfuncionario;
}
public void setCodfuncionario(int codfuncionario) {
this.codfuncionario = codfuncionario;
}
public int getCosUs() {
return cosUs;
}
public void setCosUs(int cosUs) {
this.cosUs = cosUs;
}
public int getIdpermissao() {
return idpermissao;
}
public void setIdpermissao(int idpermissao) {
this.idpermissao = idpermissao;
}
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
}
import java.util.Date;
public class Funcionario {
private int codFuncionario;
private String nomeFuncionario;
private Date dataNascimento;
private String rg;
private String cpf;
private String telefone;
private String celular;
private String endereco;
private String cidade;
private String estado;
public String getCelular() {
return celular;
}
public void setCelular(String celular) {
this.celular = celular;
}
public String getCidade() {
return cidade;
}
public void setCidade(String cidade) {
this.cidade = cidade;
}
public int getCodFuncionario() {
return codFuncionario;
}
public void setCodFuncionario(int codFuncionario) {
this.codFuncionario = codFuncionario;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public Date getDataNascimento() {
return dataNascimento;
}
public void setDataNascimento(Date dataNascimento) {
this.dataNascimento = dataNascimento;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getEstado() {
return estado;
}
public void setEstado(String estado) {
this.estado = estado;
}
public String getNomeFuncionario() {
return nomeFuncionario;
}
public void setNomeFuncionario(String nomeFuncionario) {
this.nomeFuncionario = nomeFuncionario;
}
public String getRg() {
return rg;
}
public void setRg(String rg) {
this.rg = rg;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
}
public class Funcao {
private int codFuncao;
private String cargo;
private String obs;
public String getCargo() {
return cargo;
}
public void setCargo(String cargo) {
this.cargo = cargo;
}
public int getCodFuncao() {
return codFuncao;
}
public void setCodFuncao(int codFuncao) {
this.codFuncao = codFuncao;
}
public String getObs() {
return obs;
}
public void setObs(String obs) {
this.obs = obs;
}
}
Desde já obrigado a todos