listar registros de banco de dados em datatable
É o seguinte pessoal, preciso listar os registros de uma tabela (banco postgres), em uma página xhtml.
Estou usando JSF framework Bootsfaces, o recurso DataTable.
Já implementei Classe, Dao , Bean, verifiquei se a busca está correta várias vezes, mas não está listando na página.
Poderiam me dar uma ajuda com isso?
Página:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:decorate xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
template="template.xhtml"
xmlns:b="http://bootsfaces.net/ui"
xmlns:p="http://primefaces.org/ui"
xmlns:f="http://xmlns.jcp.org/jsf/core">
<ui:define name="title">SIAI - Atendimentos</ui:define>
<ui:define name="conteudo">
<b:row styleClass="table-responsive">
<b:row>
<b:column col-sm="4" col-md="4" styleClass="">
<h1>Atendimentos</h1>
</b:column>
<b:column col-sm="2" col-md="2" styleClass="">
</b:column>
<b:column col-sm="6" col-md="6" style="padding: 30px 0px 10px 0px;">
<a href="cadastro-atendimento.jsf"><b:button look="info" size="md" value="Novo Atendimento"/></a>
<!--O botão Editar abaixo é provisório, funcionando, o sistema vai
exibir um ícone 'Editar' para cada ítem de atendimento da lista abaixo-->
<a href="editar-atendimento.jsf"><b:button look="info" size="md" value="Editar Atendimento"/></a>
</b:column>
</b:row>
<hr/>
<h:form>
<h:dataTable styleClass="table table-striped" value="#{atendimentoBean.atendimentos}" var="atendimento" >
<h:column>
<f:facet name="header"><h:outputText value="ID" /></f:facet>
<h:outputText value="#{atendimento.id_atendimento}" />
</h:column>
<h:column>
<f:facet name="header"><h:outputText value="Jornalista" /></f:facet>
<h:outputText value="#{atendimento.jornalista_atendido}" />
</h:column>
<h:column>
<f:facet name="header"><h:outputText value="Data/Hora" /></f:facet>
<h:outputText value="#{atendimento.data_horario_abertura}" />
</h:column>
<h:column>
<f:facet name="header"><h:outputText value="Emissora" /></f:facet>
<h:outputText value="#{atendimento.emissora}" />
</h:column>
<h:column>
<f:facet name="header"><h:outputText value="Situação" /></f:facet>
<h:outputText value="#{atendimento.status}" />
</h:column>
</h:dataTable>
</h:form>
</b:row>
</ui:define>
</ui:decorate>
Classe entidade:
package br.org.hu.sistemaatendimentoimprensa.negocio;
import java.util.Date;
public class Atendimento {
private int id_atendimento;
private Date data_horario_abertura;
private String status;
private Date data_hora_encerramento;
private String resumo_pauta;
private String inspiracao;
private String assunto;
private String informacoes;
private String tipo_entrevista;
private String emissora;
private String programa;
private String jornalista_atendido;
private String usuario_logado;
public Atendimento(){
}
public void cadastrarAtendimento()
{
}
public void editarAtendimento()
{
}
public Date getData_horario_abertura() {
return data_horario_abertura;
}
public void setData_horario_abertura(Date data_horario_abertura) {
this.data_horario_abertura = data_horario_abertura;
}
public Date getData_hora_encerramento() {
return data_hora_encerramento;
}
public void setData_hora_encerramento(Date data_hora_encerramento) {
this.data_hora_encerramento = data_hora_encerramento;
}
public String getUsuario_logado() {
return usuario_logado;
}
public void setUsuario_logado(String usuario_logado) {
this.usuario_logado = usuario_logado;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getJornalista_atendido() {
return jornalista_atendido;
}
public void setJornalista_atendido(String jornalista_atendido) {
this.jornalista_atendido = jornalista_atendido;
}
public String getEmissora() {
return emissora;
}
public void setEmissora(String emissora) {
this.emissora = emissora;
}
public String getPrograma() {
return programa;
}
public void setPrograma(String programa) {
this.programa = programa;
}
public String getResumo_pauta() {
return resumo_pauta;
}
public void setResumo_pauta(String resumo_pauta) {
this.resumo_pauta = resumo_pauta;
}
public String getTipo_entrevista() {
return tipo_entrevista;
}
public void setTipo_entrevista(String tipo_entrevista) {
this.tipo_entrevista = tipo_entrevista;
}
public String getInspiracao() {
return inspiracao;
}
public void setInspiracao(String inspiracao) {
this.inspiracao = inspiracao;
}
public String getAssunto() {
return assunto;
}
public void setAssunto(String assunto) {
this.assunto = assunto;
}
public String getInformacoes() {
return informacoes;
}
public void setInformacoes(String informacoes) {
this.informacoes = informacoes;
}
public int getId_atendimento() {
return id_atendimento;
}
public void setId_atendimento(int id_atendimento) {
this.id_atendimento = id_atendimento;
}
@Override
public int hashCode() {
int hash = 7;
hash = 13 * hash + this.id_atendimento;
return hash;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final Atendimento other = (Atendimento) obj;
if (this.id_atendimento != other.id_atendimento) {
return false;
}
return true;
}
public void getData_abertura(String string) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
public void getResumo_pauta(String string) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
}
Classe Bean (tentem considerar apenas o listar()):
package br.org.hu.sistemaatendimentoimprensa.beans;
import br.org.hu.sistemaatendimentoimprensa.dao.AtendimentoDAO;
import br.org.hu.sistemaatendimentoimprensa.negocio.Atendimento;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
@ManagedBean
@SessionScoped
public class AtendimentoBean {
private Atendimento atendimento = new Atendimento();
public List<Atendimento> atendimentos = new ArrayList<>();
public AtendimentoBean()
{
}
public void adicionar() throws SQLException{
AtendimentoDAO dao = new AtendimentoDAO();
dao.adicionar(atendimento);
atendimento = new Atendimento();
}
public void listar() throws SQLException {
AtendimentoDAO AtendimentoDao = new AtendimentoDAO();
atendimentos = AtendimentoDao.buscar();
}
public void selecionarEditar(Atendimento a){
Atendimento atend = new Atendimento();
atend = a;
}
public void editar() throws SQLException{
AtendimentoDAO dao = new AtendimentoDAO();
dao.alteraDAO(atendimento);
atendimento = new Atendimento();
}
public Atendimento getAtendimento() {
return atendimento;
}
public List<Atendimento> getAtendimentos() {
return atendimentos;
}
public void setAtendimentos(List<Atendimento> atendimentos) {
this.atendimentos = atendimentos;
}
public void setAtendimento(Atendimento atendimento) {
this.atendimento = atendimento;
}
//------------------------------------------------------------------------
// a variável e os métodos abaixo serviram para testar o funcionamento da estrutura
String msg;
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public void exibeDados()
{
msg = atendimento.getJornalista_atendido() + " -- " +
atendimento.getEmissora()+ " -- " +
atendimento.getPrograma()+ " -- " +
atendimento.getResumo_pauta()+ " -- " +
atendimento.getTipo_entrevista()+ " -- " +
atendimento.getInspiracao()+ " -- " +
atendimento.getAssunto()+ " -- " +
atendimento.getInformacoes();
}
//-------------------------------------------------------------------------------------------
}
//package br.org.hu.sistemaatendimentoimprensa.beans;
//
//import br.org.hu.sistemaatendimentoimprensa.dao.AtendimentoDAO;
//import br.org.hu.sistemaatendimentoimprensa.negocio.Atendimento;
//import java.sql.SQLException;
//import java.util.ArrayList;
//import java.util.List;
//import javax.faces.bean.ManagedBean;
//import javax.faces.bean.SessionScoped;
//
//
//
//@ManagedBean
//@SessionScoped
//public class AtendimentoBean {
//
// private Atendimento atendimento = new Atendimento();
// public List<Atendimento> atendimentos = new ArrayList<>();
//
// public AtendimentoBean()
// {
//
// }
//
// public void adicionar() throws SQLException{
// AtendimentoDAO dao = new AtendimentoDAO();
// dao.adicionar(atendimento);
// atendimento = new Atendimento();
// }
//
// public void listar() throws SQLException {
// AtendimentoDAO dao = new AtendimentoDAO();
// atendimentos = dao.buscar();
// }
//
// public void selecionarEditar(Atendimento a){
// Atendimento atend = new Atendimento();
// atend = a;
// }
//
// public void editar() throws SQLException{
// AtendimentoDAO dao = new AtendimentoDAO();
// dao.alteraDAO(atendimento);
// atendimento = new Atendimento();
// }
//
// public Atendimento getAtendimento() {
// return atendimento;
// }
//
// public void setAtendimento(Atendimento atendimento) {
// this.atendimento = atendimento;
// }
//
//
//
//
// //------------------------------------------------------------------------
// // a variável e os métodos abaixo serviram para testar o funcionamento da estrutura
// String msg;
//
// public String getMsg() {
// return msg;
// }
//
// public void setMsg(String msg) {
// this.msg = msg;
// }
//
// public void exibeDados()
// {
// msg = atendimento.getJornalista_atendido() + " -- " +
// atendimento.getEmissora()+ " -- " +
// atendimento.getPrograma()+ " -- " +
// atendimento.getResumo_pauta()+ " -- " +
// atendimento.getTipo_entrevista()+ " -- " +
// atendimento.getInspiracao()+ " -- " +
// atendimento.getAssunto()+ " -- " +
// atendimento.getInformacoes();
// }
// //-------------------------------------------------------------------------------------------
//
//
//}
Classe DAO (Considerem apenas o buscar()) :
package br.org.hu.sistemaatendimentoimprensa.dao;
import br.org.hu.sistemaatendimentoimprensa.negocio.Atendimento;
import br.org.hu.sistemaatendimentoimprensa.util.FabricaConexao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author Simone
*/
public class AtendimentoDAO {
public void adicionar(Atendimento atendimento) throws SQLException {
Connection conexao = FabricaConexao.getConexao();
String sql = "INSERT INTO atendimento.atendimento(data_abertura, resumo_pauta, assunto, status,informacoes_passadas,"
+ "tipo_entrevista,emissora_id_emissora, jornalista_id_jornalista)\n"
+ " VALUES (?,?,?,?,?,?,?,?)";
try {
PreparedStatement st = conexao.prepareStatement(sql);
//st.setDate(1, atendimento.getData_abertura());
st.setString(2, atendimento.getResumo_pauta());
st.setString(3, atendimento.getAssunto());
atendimento.setStatus("Ativo");
st.setString(4, atendimento.getStatus());
st.setString(5, atendimento.getInformacoes());
st.setString(6, atendimento.getTipo_entrevista());
st.setString(7, atendimento.getEmissora());
st.setString(8, atendimento.getJornalista_atendido());
//executa
st.execute();
st.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
public List<Atendimento> buscar() throws SQLException {
try{
Connection conexao = FabricaConexao.getConexao();
List<Atendimento> atendimentos = new ArrayList<>();
PreparedStatement st = conexao.prepareStatement("select * from atendimento.atendimento");
ResultSet rs = st.executeQuery();
while (rs.next())
{
Atendimento atendimento = new Atendimento();
atendimento.setId_atendimento(rs.getInt("id_atendimento"));
atendimento.setData_horario_abertura(rs.getDate("data_horario_abertura"));
atendimento.setStatus(rs.getString("status"));
atendimento.setData_hora_encerramento(rs.getDate("data_hora_encerramento"));
atendimento.setResumo_pauta(rs.getString("resumo_pauta"));
atendimento.setInspiracao(rs.getString("inspiracao"));
atendimento.setAssunto(rs.getString("assunto"));
atendimento.setInformacoes(rs.getString("informacoes"));
atendimento.setTipo_entrevista(rs.getString("tipo_entrevista"));
atendimento.setEmissora(rs.getString("emissora_id_emissora"));
atendimento.setPrograma(rs.getString("programa_id_programa"));
atendimento.setJornalista_atendido(rs.getString("jornalista_id_jornalista"));
atendimento.setUsuario_logado(rs.getString("usuario_id_usuario"));
atendimentos.add(atendimento);
}
return atendimentos;
}catch(SQLException e){
Logger.getLogger(AtendimentoDAO.class.getName()).log(Level.SEVERE, null, e);
return null;
}
}
public void alteraDAO(Atendimento atendimento) throws SQLException {
Connection conexao = FabricaConexao.getConexao();
String sql = "UPDATE atendimento.jornalista set data_abertura=?, resumo_pauta=?, assunto=?, status=?,informacoes_passadas=?,"
+ "tipo_entrevista=?,emissora_id_emissora=?, jornalista_id_jornalista=? where id_atendimento=? ";
try {
PreparedStatement st = conexao.prepareStatement(sql);
//st.setString(1,atendimento.getData_abertura());
st.setString(2,atendimento.getResumo_pauta());
st.setString(3,atendimento.getAssunto());
st.setString(4,atendimento.getStatus());
st.setString(5,atendimento.getInformacoes());
st.setString(6,atendimento.getTipo_entrevista());
st.setString(7,atendimento.getEmissora());
st.setString(8,atendimento.getJornalista_atendido());
st.setInt(9,atendimento.getId_atendimento());
st.execute();
st.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}Discussão (0)
Carregando comentários...