Olá amigos depois de tanto sofrer, consegui inserir dados no meu bd com jsf e primefaces.
Só que o que me assustou foi a quantidade de mensagens no console.
Meu formulário inserir:
[code]
<?xml version="1.0" encoding="ISO-8859-1" ?> Cadastro de Paises .ui-widget, .ui-widget .ui-widget { font-size: 12px !important; }[/code] Meu managedBean paisBean: [code]
package classe.controle.Beans;
import java.sql.SQLException;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import classe.modelo.dao.PaisDao;
import classe.modelo.vo.Pais;
@ManagedBean(name = “paisBean”)
@SessionScoped
public class PaisBean {
private String descricao;
private String sigla;
private String codigo;
Pais pais = new Pais();
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public String getSigla() {
return sigla;
}
public void setSigla(String sigla) {
this.sigla = sigla;
}
public String getCodigo() {
return codigo;
}
public void setCodigo(String codigo) {
this.codigo = codigo;
}
public Pais getPais() {
return pais;
}
public void setPais(Pais pais) {
this.pais = pais;
}
public PaisBean() {
inserir();
}
public String inserir() {
pais.setDescricao(descricao);
pais.setSigla(sigla);
pais.setCodigo(codigo);
PaisDao paisDao = new PaisDao();
Boolean inserir;
try {
inserir = paisDao.inserir(pais);
if(inserir != false){
System.out.println("OK.Graças à Deus e Nossa Senhora!!!");
}
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
}[/code]
Meu PaisDao:
package classe.modelo.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import classe.conexao.Conexao;
import classe.modelo.vo.Pais;
public class PaisDao {
static Connection conexao;
public PaisDao(){
conexao = Conexao.conectar();
}
public boolean inserir(Pais pais) throws SQLException{
try {
StringBuffer sql1 = new StringBuffer();
sql1.append("INSERT INTO pais (pais_descricao,pais_sigla_onu,pais_codigo_onu) "
+ "VALUES (?, ?, ?)");
PreparedStatement consulta1 = conexao.prepareStatement(sql1.toString());
consulta1.setString(1, pais.getDescricao());
consulta1.setString(2, pais.getSigla());
consulta1.setString(3, pais.getCodigo());
consulta1.execute();
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
}
E as mensagens de erro no console após inserir:
04/04/2012 22:10:18 org.apache.catalina.core.AprLifecycleListener init
INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files (x86)\Java\jre6\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files (x86)/Java/jre6/bin/client;C:/Program Files (x86)/Java/jre6/bin;C:/Program Files (x86)/Java/jre6/lib/i386;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files\Internet Explorer;C:\Program Files (x86)\Java\jdk1.6.0_25\bin;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn;C:\Program Files\Microsoft SQL Server\100\Tools\Binn;C:\Program Files\Microsoft SQL Server\100\DTS\Binn;D:\eclipse;;.
04/04/2012 22:10:18 org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
04/04/2012 22:10:18 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 289 ms
04/04/2012 22:10:18 org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
04/04/2012 22:10:18 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.14
04/04/2012 22:10:19 com.sun.faces.config.ConfigureListener contextInitialized
INFO: Inicializando Mojarra 2.1.0 (FCS FCS) para o contexto ‘/SystemSignageDoor’
04/04/2012 22:10:19 com.sun.faces.mgbean.BeanManager addBean
AVISO: JSF1074: O bean gerenciado denominado ‘empresaBean’ já foi registrado. Substituindo o tipo de classe do bean gerenciado classe.controle.Beans.EmpresaBean por classe.controle.Beans.EmpresaBean.
04/04/2012 22:10:19 com.sun.faces.mgbean.BeanManager addBean
AVISO: JSF1074: O bean gerenciado denominado ‘paisBean’ já foi registrado. Substituindo o tipo de classe do bean gerenciado classe.controle.Beans.PaisBean por classe.controle.Beans.PaisBean.
04/04/2012 22:10:20 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
04/04/2012 22:10:20 org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
04/04/2012 22:10:20 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/19 config=null
04/04/2012 22:10:20 org.apache.catalina.startup.Catalina start
INFO: Server startup in 1554 ms
org.postgresql.util.PSQLException: ERRO: valor nulo na coluna “pais_descricao” viola a restrição não-nula
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2102)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1835)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:500)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:388)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:381)
at classe.modelo.dao.PaisDao.inserir(PaisDao.java:26)
at classe.controle.Beans.PaisBean.inserir(PaisBean.java:63)
at classe.controle.Beans.PaisBean.(PaisBean.java:53)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at com.sun.faces.mgbean.BeanBuilder.newBeanInstance(BeanBuilder.java:188)
at com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:102)
at com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:409)
at com.sun.faces.mgbean.BeanManager.create(BeanManager.java:269)
at com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:244)
at com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:116)
at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:45)
at org.apache.el.parser.AstValue.getValue(AstValue.java:86)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
at javax.faces.component.UIOutput.getValue(UIOutput.java:169)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:205)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:355)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:164)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:312)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:309)
at com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:185)
at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:129)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:55)
at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:43)
at org.primefaces.component.fieldset.FieldsetRenderer.encodeContent(FieldsetRenderer.java:95)
at org.primefaces.component.fieldset.FieldsetRenderer.encodeMarkup(FieldsetRenderer.java:76)
at org.primefaces.component.fieldset.FieldsetRenderer.encodeEnd(FieldsetRenderer.java:53)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:59)
at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:43)
at org.primefaces.component.panel.PanelRenderer.encodeContent(PanelRenderer.java:229)
at org.primefaces.component.panel.PanelRenderer.encodeMarkup(PanelRenderer.java:152)
at org.primefaces.component.panel.PanelRenderer.encodeEnd(PanelRenderer.java:75)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1763)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1756)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:401)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:410)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
OK.Graças à Deus e Nossa Senhora!!!
Em algum lugar diz ERRO: valor nulo na coluna “pais_descricao” viola a restrição não-nula.
Mas eu verifiquei no banco e o campo pais_descricao está preenchido, ou seja, não está nulo.
O que pode ser esta enxurrada de mensagens :?: