Galera boa tarde, estou com problema no meu projeto mais exatamente na minha classe bean e xhtml… na hora de dar referencia as variaveis da minha classe Dao ou Dominio eu n consigo , segue abaixo minhas classes
package br.com.farmacia.DAO;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import br.com.farmacia.domain.Fornecedores;
import br.com.farmacia.factory.ConexaoFactory;
public class FornecedoresDAO {
public void salvar(Fornecedores f) throws SQLException {
StringBuilder sql = new StringBuilder();
sql.append("INSERT INTO fornecedores ");
sql.append("(descricao)");
sql.append("VALUES (?)");
Connection conexao = ConexaoFactory.conectar();
PreparedStatement comando = conexao.prepareStatement(sql.toString());
comando.setString(1, f.getDescricao());
comando.executeUpdate();
}
public void excluir(Fornecedores f) throws SQLException {
StringBuilder sql = new StringBuilder();
sql.append("DELETE FROM fornecedores ");
sql.append("WHERE codigo = ? ");
Connection conexao = ConexaoFactory.conectar();
PreparedStatement comando = conexao.prepareStatement(sql.toString());
comando.setLong(1, f.getCodigo());
comando.executeUpdate();
}
public void editar(Fornecedores f) throws SQLException {
StringBuilder sql = new StringBuilder();
sql.append("UPDATE fornecedores ");
sql.append("SET descricao = ? ");
sql.append("WHERE codigo = ? ");
Connection conexao = ConexaoFactory.conectar();
PreparedStatement comando = conexao.prepareStatement(sql.toString());
comando.setString(1, f.getDescricao());
comando.setLong(2, f.getCodigo());
comando.executeUpdate();
}
public Fornecedores buscaPorCodigo(Fornecedores f) throws SQLException {
StringBuilder sql = new StringBuilder();
sql.append("SELECT codigo, descricao ");
sql.append("FROM fornecedores ");
sql.append("WHERE codigo = ? ");
Connection conexao = ConexaoFactory.conectar();
PreparedStatement comando = conexao.prepareStatement(sql.toString());
comando.setLong(1, f.getCodigo());
ResultSet resultado = comando.executeQuery();
Fornecedores retorno = null;
if (resultado.next()) {
retorno = new Fornecedores();
retorno.setCodigo(resultado.getLong("codigo"));
retorno.setDescricao(resultado.getString("descricao"));
}
return retorno;
}
public ArrayList<Fornecedores> listar() throws SQLException {
StringBuilder sql = new StringBuilder();
sql.append("SELECT codigo, descricao ");
sql.append("FROM fornecedores ");
sql.append("ORDER BY descricao ASC ");
Connection conexao = ConexaoFactory.conectar();
PreparedStatement comando = conexao.prepareStatement(sql.toString());
ResultSet resultado = comando.executeQuery();
ArrayList<Fornecedores> lista = new ArrayList<Fornecedores>();
while (resultado.next()) {
Fornecedores f = new Fornecedores();
f.setCodigo(resultado.getLong("codigo"));
f.setDescricao(resultado.getString("descricao"));
lista.add(f);
}
return lista;
}
public ArrayList<Fornecedores> buscaPorNome(Fornecedores f) throws SQLException {
StringBuilder sql = new StringBuilder();
sql.append("SELECT codigo, descricao ");
sql.append("FROM fornecedores ");
sql.append("WHERE descricao LIKE ? ");
sql.append("ORDER BY descricao ASC ");
Connection conexao = ConexaoFactory.conectar();
PreparedStatement comando = conexao.prepareStatement(sql.toString());
comando.setString(1, "%" + f.getDescricao() + "%");
ResultSet resultado = comando.executeQuery();
ArrayList<Fornecedores> lista = new ArrayList<Fornecedores>();
while (resultado.next()) {
Fornecedores item = new Fornecedores();
item.setCodigo(resultado.getLong("codigo"));
item.setDescricao(resultado.getString("descricao"));
lista.add(item);
}
return lista;
}
}
Na minha claase DAO todos metodos estao funcionando
package br.com.farmacia.bean;
import java.sql.SQLException;
import java.util.ArrayList;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.model.ListDataModel;
import br.com.farmacia.DAO.FornecedoresDAO;
import br.com.farmacia.domain.Fornecedores;
@ManagedBean(name = “MBFornecedores”)
@ViewScoped
public class FornecedoresBean {
private ListDataModel <Fornecedores> itens;
public ListDataModel<Fornecedores> getItens() {
return itens;
}
public void setItens(ListDataModel<Fornecedores> itens) {
this.itens = itens;
}
@PostConstruct
public void prepararPesquisa() {
try {
FornecedoresDAO fdao = new FornecedoresDAO();
ArrayList <Fornecedores> lista = fdao.listar();
itens = new ListDataModel<Fornecedores> (lista);
}
catch (SQLException e) {
e.printStackTrace();
}
}
}
essa e minha classe bean aparentemente fiz as referencias certinhas
<?xml version="1.0" encoding="UTF-8" ?><ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
xmlns:h=“http://java.sun.com/jsf/html"
xmlns:f=“http://java.sun.com/jsf/core"
template=”/templates/modeloFarmacia.xhtml”>
<ui:define name="menu">
<ui:include src="/includes/menu.xhtml">
</ui:include>
</ui:define>
<ui:define name="conteudo">
<p:dataTable emptyMessage="Nenhum registro encontrado"
var="item" value="#{MBFornecedores.itens}" >
<p:column headerText="codigo">
<h:outputText value="#{item.codigo}" />
</p:column>
<p:column headerText="Descricao">
<h:outputText value="#{item.descricao}" />
</p:column>
</p:dataTable>
</ui:define>
</ui:composition>
esse e o meu arquivo xhtml…quando eu inicio ele nao obtenho nenhuma resposta, me parece que nao estou referenciar as minhas variaveis codigo nem descricao
