Publicidade

Simone RSS

listar registros de banco de dados em datatable

xhtml
Patrocínio:

É 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);
        }        
    }
    
}

 

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar Agora

  • Próximos Eventos

  • Conteúdo Similar

    • Por Americoneto3
      quero fazer um projeto bem simples,quero fazer um programa q eu ensine a ele.
      Tipo,eu vou colocar ato falante no arduino e microfone p eu falar,ensino tipo,quando alguem falar 'oi' para ele,ele responda com a voz que eu programar 'ola',eu queria "ensinar" varias coisas ate ele quase entender tudo o que eu disser...precisarei colocar memoria ssd para armazenar as falas?
      nunca fiz um software ou programa antes,mas tenho vontade de fazer,
      para eu fazer esse meu projeto,de que componentes precisarei e se eu preciso aprender alguma coisa de programaçao complexa,me ajudem
      Eu preciso ser experiente para fazer isso?existe algum curso que eu possa fazer para aprender(online)?
    • Por renatolmb
      Bom dia pessoal,
      Tenho um formulário em JSF e estou precisando inserir os dados dele no banco de dados Já pesquisei de várias formas, mas não está funcionado
      Poderiam me dar uma ajuda no que estou fazendo de errado?
      Não estou conseguindo passar o parametro do que esta sendo digitado para a inserção no banco de dados
      Não consigo ver por exemplo o conteúdo do jsf digitado no bean
       
      ManagedBean
      @ManagedBean(name="UsuarioJDCBDAO") (...) public void inserir(Usuario usuario) { try { Connection conexao = getConexao(); String value = null; Statement stmt = null; conexao.createStatement().execute("SET IDENTITY_INSERT "+"tbplan"+" ON"); stmt = conexao.createStatement(); ResultSet rs = stmt.executeQuery("select MAX(id) + 1 from tbplan"); while (rs.next()) value = rs.getString(1).toString(); System.out.println(value); PreparedStatement pstm = conexao.prepareStatement("Insert into tbplan (data, nome, frase, id) values (?,?,?,?)"); //String name = new Usuario().getNome(); //pstm.setDate(1, new java.sql.Date(usuario.getDataCadastro().getTime())); pstm.setString(1, "26 Jun 2017 14:28:00:00"); pstm.setString(2, usuario.getNome()); // pstm.setString(2, n1.getNome()); pstm.setString(3, usuario.getFrase()); pstm.setString(4, value); pstm.execute(); conexao.createStatement().execute("SET IDENTITY_INSERT "+"tbplan"+" OFF"); pstm.close(); conexao.close(); } catch (Exception e) { e.printStackTrace(); } } (...)  
      Classe usuário
      import java.io.Serializable; import java.util.Date; public class Usuario implements Serializable { private static final long serialVersionUID = -309513637403441998L; private Long id; private Date dataCadastro; private String nome; private String frase; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Date getDataCadastro() { return dataCadastro; } public void setDataCadastro(Date dataCadastro) { this.dataCadastro = dataCadastro; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public String getFrase() { return frase; } public void setFrase(String frase) { this.frase = frase; } @Override public String toString() { return "Usuario [nome=" + nome + ", frase=" + frase + ", dataCadastro=" + dataCadastro + " id=" + id + "]"; } }  
      JSF
       
      <ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:p="http://primefaces.org/ui" template="/paginas/default/main.xhtml"> <ui:define name="content"> <h1 class="page-header "> <i class="fa fa-comments"></i> Formulário </h1> <div class="form-group"> <div class="col-xs-2"> <h:form> <b><h:outputText value="Nome: " /></b> <h:inputText class="form-control" id="nome" value="" /> <br style="clear: left;" /> </h:form> <h:form> <b><h:outputText value="Data: " /></b> <h:inputText class="form-control" value="#{now}"> <f:convertDateTime pattern="dd/MM/yyyy HH:mm" timeZone="America/Sao_Paulo"/> </h:inputText> <br style="clear: left;" /> </h:form> </div> <div class="col-md-8"> <h:form> <td valign="top"> <b><h:outputText title="Ajuda" value="Frase: " /></b> </td> <h:inputTextarea class="form-control" cols="80" rows="8" id="frase" value="" /> </h:form> </div> </div> <br style="clear: left;" /> <div class="container"> </div> <div class="col-xs-2"> <h:form> <h:commandButton id="submitBtn" var="item" value="Incluir" class="btn btn-success" action="#{UsuarioJDCBDAO.inserir(Usuario)}"> <f:param name="Nome" value="#{item.nome}" /> <f:param name="Data" value="#{item.dataCadastro}" /> <f:param name="Frase" value="#{item.frase}" /> </h:commandButton> </h:form> </div> </ui:define> </ui:composition>  
    • Por JosimarNew
      Bom dia, boa tarde e boa noite.
       
      Segue um problema que ainda não consegui a solução.
       
      Estou tentando capturar eventos do mouse fora da GUI do java. Tipo, eu quero transformar a tela do meu monitor em um plano cartesiano e a partir daí controlar meu mouse através da aplicação java uma vez iniciada. Não sei se fui bem claro más, o que quero com isso? Quero limitar o movimento do meu cursor baseado na resolução da tela de meu monitor, definir uma área nessa tela onde o monitor só poderá ser movimentar nessa área.
       
      Isso é possível com java, pois com C sei que é, só que quero implementar isso no java mesmo.
       
      Estou bem perto, já consigo capturar as coordenadas do mouse fora da GUI, agora preciso manipular os eventos para que eu possa controlar o cursor.
       
      Obrigado aqueles que se interessarem pelo tópico.
    • Por tulioto
      Preciso  pegar um arquivo .txt e a criar um novo arquivo .txt . Na primeira linha desse arquivo encontrarei um int M e na segunda linha um texto, devo gerar um novo arquivo que quebra a linha a cada M caracteres sem cortar no meio das palavras, sempre no espaços. como faço?
       
      Ex in.txt ;
      15
      Na primeira linha desse arquivo encontrarei um int M e na segunda linha um texto, devo gerar um novo arquivo que quebra a linha a
       
      Ex out.txt
      15
      Na primeira
      linha desse
      arquivo
      encontrarei
      um int M e na
      segunda
      ...