Como fazer pesquisa de nomes cadastrados no postgres e lista na página?

0 respostas
R

Boa Noite Pessoal,

Estou com dúvidas de como fazer o buttom da minha página de pesquisa funcionar, pois tenho um campo com inputText Nome: , um buttom "Pesquisar" e abaixo do panel pesquisar tenho um pra listar os nomes na página, Como faço pra resolver isso? Os meus códigos estão abaixo pra vocês me ajdarem:

GenericDao
public abstract class GenericDAO {

     private static final long serialVersionUID = 1L;
    

    protected Session getSession() {
        return HibernateUtil.getInstance().getSession();
    }

    protected void saveOrUpadatePojo(Serializable pojo) {
        Session ses = getSession();     
        ses.saveOrUpdate(pojo);
        ses.beginTransaction().commit();
        ses.close();

    }

    protected <T extends Serializable> T getPojo(Class<T> classToSearch, Serializable key) {
        Session ses = getSession();
        Serializable toReturn = (Serializable) ses.get(classToSearch, key);
        ses.beginTransaction().commit();
        ses.close();
        return (T) toReturn;
    }

    protected void removePojo(Serializable pojoToRemote) {
        Session ses = getSession();
        ses.delete(pojoToRemote);
        ses.beginTransaction().commit();
        
        ses.close();
    }

    protected Serializable getPurePojo(String query, Object... params) {
        Session ses = getSession();
        Query qr = ses.createQuery(query);
        for (int i = 1; i <= params.length; i++) {
            qr.setParameter(1, params[i - 1]);
        }

        Object toReturn = qr.uniqueResult();
        ses.beginTransaction().commit();
        ses.close();
        return (Serializable) toReturn;
    }

    protected <T extends Serializable> List<T> getPureList(Class<T> classToCast, String query, Object... params) {
        Session ses = getSession();
        Query qr = ses.createQuery(query);
        for (int i = 1; i <= params.length; i++) {
            qr.setParameter(1, params[i - 1]);
        }
        @SuppressWarnings("unchecked")
        List<T> toReturn = qr.list();
        ses.beginTransaction().commit();
        ses.close();
        return toReturn;
    }
}
DAo
public class CadSecretariaDAO extends GenericDAO {

    private static final long serialVersionUID = 1L;

   private Session session;

  public CadSecretariaDAO(Session session) {
    this.session = session;
    }

    public CadSecretariaDAO() {
    this.session = getSession();
    }

    public int addCadastrarSecretaria(CadastrarSecretaria cad) {
    saveOrUpadatePojo(cad);
    return cad.getCodigosecretaria();
    
    }

    public void removeCadastrarSecretaria(CadastrarSecretaria cad) {
    removePojo(cad);
    }

    public void upadateCadastrarSecretaria(CadastrarSecretaria cad) {
    saveOrUpadatePojo(cad);
    }

    public CadastrarSecretaria getCadastrarSecretaria(Integer codigosecretaria){
    CadastrarSecretaria cad = getPojo(CadastrarSecretaria.class, codigosecretaria);
    return cad;

    }
    public CadastrarSecretaria getCadastrarSecretaria(String nome){
    CadastrarSecretaria cad = getPojo(CadastrarSecretaria.class, nome);
    return cad;

    }


    public List<CadastrarSecretaria> getCadSecretarias(){
    return getPureList(CadastrarSecretaria.class,"select from CadastrarSecretaria");
    }
}
ManagerBean
public class Secretaria {

    private List<CadastrarSecretaria> cachedCadSecretarias = null;
    private CadSecretariaDAO cad = new CadSecretariaDAO();
    private CadastrarSecretaria selectedSecretaria;


    public List<CadastrarSecretaria> getCachedCadSecretaria() {
        if (cachedCadSecretarias == null) {
            cachedCadSecretarias = cad.getCadSecretarias();
        }

        return cachedCadSecretarias;
    }

    public String doConfirmaCadSecretaria() {
        selectedSecretaria = new CadastrarSecretaria();
        return "telaconsulta";
    }

    public String finishConfirmaCadSecretaria() {
        cad.addCadastrarSecretaria(selectedSecretaria);
        cachedCadSecretarias = null;
        return "ListCadSecretaria";
    }

    public CadastrarSecretaria getSelectedSecretaria() {
        return selectedSecretaria;
    }

    public void setSelectedSecretaria(CadastrarSecretaria selectedSecretaria) {
        this.selectedSecretaria = selectedSecretaria;
    }
}
Minha Página Pesquisa
<body>
        <ui:composition template="/template.xhtml">
            <ui:define name="cont">

                <a4j:form>
                    <rich:panel  id="consult"  style="width: inherit">
                        <h:outputText value="Parâmetros - Cadastro de Secretarias"/><br/><br/>

                        <rich:separator height="2" lineType="solid"/><br/>

                        Nome:<h:inputText id="nome" size="30"/><br/><br/>

                        <f:facet name="header">
                            <h:outputText value=""/>
                        </f:facet>

                        <div id="buttom" align="center">
                            <a4j:commandButton value="Pesquisar"/>
                            <a4j:commandButton value="Limpar"/>
                        </div>
                    </rich:panel>
                    <rich:spacer height="30px"></rich:spacer>

                    <rich:panel id="result">

                        <rich:separator height="30"/>
                        <div align="center">

                        <h:panelGrid style="" columns="3">
                            <a4j:commandButton  value="Novo"/>
                            
                            <rich:datascroller for="tabelalista" maxPages="4"
                                               selectedStyle="font-weight:bold"/>
                            
                            <a4j:commandButton value="Impressão"/>
                            
                        </h:panelGrid>
                            </div>

                        <rich:separator height="15"/>

                        <rich:dataTable  id="tabelalista" value="#{Secretaria.cachedCadSecretaria}" var="item" rows="10" width="60%">
                            <rich:column>
                                <f:facet name="header">
                                    <h:outputText value="Nome"/>
                                </f:facet>
                                <h:outputLink value="cadastrasecretaria.faces">
                                    <h:outputText value="#{item.nome}"/>
                                </h:outputLink>
                            </rich:column>
                            <rich:column>
                                <f:facet name="header">
                                    <h:outputText value="Status"/>
                                </f:facet>
                                <h:outputText value="#{item.status}"/>
                            </rich:column>
                            <rich:column>
                                <f:facet name="header">
                                    <h:outputText value="Data Inclusão"/>
                                </f:facet>
                                <h:outputText value="#{item.datainclusao}"/>
                            </rich:column>
                        </rich:dataTable>
                    </rich:panel>

                </a4j:form>

            </ui:define>
        </ui:composition>
    </body>
</html>
Criado 17 de maio de 2010
Respostas 0
Participantes 1