Ola fiz o codigo como vi nas video aulas porem nao salva no banco de dados pq?
a conexao esta funcionando normalmente enao apresenta nenhum erro mas nao salva.
segue codigo
FabricanteDAO
package br.com.drogaria.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import br.com.drogaria.factory.ConexaoFactory;
import br.com.drogaria.domain.Fabricante;
public class FabricanteDAO{
public void salvar(Fabricante f) throws SQLException{
StringBuilder sql = new StringBuilder();
sql.append("INSERT INTO fabricante ");
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(Fabricante f)throws SQLException{
StringBuilder sql = new StringBuilder();
sql.append("DELETE FROM fabricante ");
sql.append("WHERE codigo = ? ");
Connection conexao = ConexaoFactory.conectar();
PreparedStatement comando = conexao.prepareStatement(sql.toString());
comando.setLong(1,f.getCodigo());
comando.executeUpdate();
}
public void editar(Fabricante f)throws SQLException{
StringBuilder sql = new StringBuilder();
sql.append("UPDATE fabricante ");
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 Fabricante BuscarPorCodigo(Fabricante f) throws SQLException{
StringBuilder sql = new StringBuilder();
sql.append("SELECT codigo,descricao ");
sql.append("FROM fabricante ");
sql.append("WHERE codigo = ? ");
Connection conexao = ConexaoFactory.conectar();
PreparedStatement comando = conexao.prepareStatement(sql.toString());
comando.setLong(1, f.getCodigo());
ResultSet resultado = comando.executeQuery();
Fabricante retorno = null;
if(resultado.next()){
retorno = new Fabricante();
retorno.setCodigo(resultado.getLong("codigo"));
retorno.setDescricao(resultado.getString("descricao"));
}
return retorno;
}
public ArrayList<Fabricante> listar() throws SQLException{
StringBuilder sql = new StringBuilder();
sql.append("SELECT codigo, descricao ");
sql.append("FROM fabricante ");
sql.append("ORDER BY descricao ASC ");
Connection conexao = ConexaoFactory.conectar();
PreparedStatement comando = conexao.prepareStatement(sql.toString());
ResultSet resultado = comando.executeQuery();
ArrayList<Fabricante> lista = new ArrayList<Fabricante>();
while(resultado.next()){
Fabricante f = new Fabricante();
f.setCodigo(resultado.getLong("codigo"));
f.setDescricao(resultado.getString("descricao"));
lista.add(f);
}
return lista;
}
public ArrayList<Fabricante> buscarPorDescricao(Fabricante f) throws SQLException{
StringBuilder sql = new StringBuilder();
sql.append("SELECT codigo, descricao ");
sql.append("FROM fabricante ");
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<Fabricante> lista = new ArrayList<Fabricante>();
while(resultado.next()){
Fabricante item = new Fabricante();
item.setCodigo(resultado.getLong("codigo"));
item.setDescricao(resultado.getString("descricao"));
lista.add(item);
}
return lista;
}
FabricanteBean
package br.com.drogaria.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.drogaria.dao.FabricanteDAO;
import br.com.drogaria.domain.Fabricante;
@ManagedBean(name="MBFabricante")
@ViewScoped
public class FabricanteBean {
private Fabricante fabricante;
private ListDataModel<Fabricante> itens;
public Fabricante getFabricante() {
return fabricante;
}
public void setFabricante(Fabricante fabricante) {
this.fabricante = fabricante;
}
public ListDataModel<Fabricante> getItens() {
return itens;
}
public void setItens(ListDataModel<Fabricante> itens) {
this.itens = itens;
}
@PostConstruct
public void prepararPesquisa(){
try{
FabricanteDAO dao = new FabricanteDAO();
ArrayList<Fabricante> lista = dao.listar();
itens = new ListDataModel<Fabricante>(lista);
}catch(SQLException ex){
ex.printStackTrace();
}
}
public void prepararNovo(){
fabricante = new Fabricante();
}
public void novo(){
try{
FabricanteDAO dao = new FabricanteDAO();
dao.salvar(fabricante);
ArrayList<Fabricante> lista = dao.listar();
itens = new ListDataModel<Fabricante>(lista);
}catch(SQLException ex){
ex.printStackTrace();
}
}
}
Fabricante
package br.com.drogaria.domain;
public class Fabricante {
private Long codigo;
private String descricao;
public Long getCodigo() {
return codigo;
}
public void setCodigo(Long codigo) {
this.codigo = codigo;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
@Override
public String toString() {
String saida = codigo + "----" +descricao;
return saida;
}
}
Fabricante.xhtml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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:p="http://primefaces.org/ui"
xmlns:ui="http://java.sun.com/jsf/facelets"
template="/templates/modeloSistema.xhtml">
<ui:define name="menu">
<ui:include src="/includes/menuPrincipal.xhtml" />
</ui:define>
<ui:define name="conteudo">
<h:form>
<p:dataTable emptyMessage="Nenhum Registro Encontrado"
value="#{MBFabricante.itens}" var="item" paginator="true" rows="10">
<f:facet name="header">
Fabricante - Listagem
</f:facet>
<p:column headerText="Código: " sortBy="#{item.codigo}"
filterBy="#{item.codigo}">
<h:outputText value="#{item.codigo}" />
</p:column>
<p:column headerText="Descrição: " sortBy="#{item.descricao}"
filterBy="#{item.descricao}">
<h:outputText value="#{item.descricao}" />
</p:column>
<f:facet name="footer">
<p:commandButton value="Novo" actionListener="#{MBFabricante.prepararNovo}" oncomplete="PF('dlgFabNovo').show();"
/>
</f:facet>
</p:dataTable>
</h:form>
<p:dialog widgetVar="dlgFabNovo" closable="false" draggable="false"
resizable="false" modal="true" appendTo="@(body)" header="Fabricante - Novo">
<h:form>
<h:panelGrid columns="2">
<h:outputLabel value="Descrição: "/>
<h:inputText size="30" maxlength="50" value="#{MBFabricante.fabricante.descricao}" />
</h:panelGrid>
<h:panelGrid columns="2">
<p:commandButton value="Gravar" actionListener="#{MBFabricante.novo}"
oncomplete="PF('dlgFabNovo').hide();"/>
<p:commandButton value="Cancelar" onclick="PF('dlgFabNovo').hide();" />
</h:panelGrid>
</h:form>
</p:dialog>
</ui:define>
</ui:composition>