Grave: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'nome' cannot be null
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
at com.mysql.jdbc.Util.getInstance(Util.java:384)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1041)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3566)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3498)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2568)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2113)
at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1364)
at sonic.action.usuario.UsuarioBean.criarUsuario(UsuarioBean.java:98)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at javax.el.BeanELResolver.invokeMethod(BeanELResolver.java:779)
at javax.el.BeanELResolver.invoke(BeanELResolver.java:528)
at javax.el.CompositeELResolver.invoke(CompositeELResolver.java:257)
at com.sun.el.parser.AstValue.invoke(AstValue.java:248)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:302)
at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:39)
at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
at javax.faces.component.UICommand.broadcast(UICommand.java:315)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1542)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:722)
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package sonic.action.usuario;
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;
import javax.ejb.EJB;
import javax.inject.Named;
import javax.enterprise.context.Dependent;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import sonic.action.grupo.GrupoBean;
import sonic.action.professor.ProfessorBean;
import sonic.model.entities.Grupo;
import sonic.model.entities.Usuario;
import sonic.model.repositories.ConnectionFactory;
/**
*
* @author Felipe
*/
@Named(value = "usuarioBean")
@Dependent
public class UsuarioBean {
private String nome;
private String senha;
private Grupo groupid;
private Usuario usuario;
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
public Grupo getGroupid() {
return groupid;
}
public void setGroupid(Grupo groupid) {
this.groupid = groupid;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public String criarUsuario() {
System.out.println(">>>>>>>>>>>>>Entrou aqui!!!!<<<<<<");
System.out.println(nome);
System.out.println(senha);
String retorno = null;
try {
FacesMessage msg;
Connection con = ConnectionFactory.GetConnection();
String sql = "INSERT INTO Usuario VALUES (nome = ?, senha = ?, groupid = ?)";
// cria um preparedStatement
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setString(1, nome);
stmt.setString(2, senha);
stmt.setObject(3, groupid);
System.out.println(sql);
stmt.execute();
stmt.close();
con.close();
retorno = "index?faces-redirect=true";
msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Usuario Cadastrado com Sucesso", "");
FacesContext.getCurrentInstance().addMessage(null, msg);
return retorno;
} catch (SQLException ex) {
Logger.getLogger(UsuarioBean.class.getName()).log(Level.SEVERE, null, ex);
return retorno;
}
}
public String editarUsuario() {
FacesMessage msg;
String retorno = "listar?faces-redirect=true";
try {
Connection con = ConnectionFactory.GetConnection();
String sql = "UPDATE Usuario SET nome = ?, senha = ?, groupid = ? WHERE nome = ?";
// cria um preparedStatement
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setString(1, usuario.getNome());
stmt.setString(2, usuario.getSenha());
stmt.setObject(3, usuario.getGroupid());
stmt.setString(4, usuario.getNome());
System.out.println("Entrou aqui!!!!");
stmt.executeUpdate();
//fecha a conexão
stmt.close();
con.close();
msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Usuario Editado com Sucesso", "");
FacesContext.getCurrentInstance().addMessage(null, msg);
return retorno;
} catch (SQLException ex) {
Logger.getLogger(ProfessorBean.class.getName()).log(Level.SEVERE, null, ex);
return retorno;
}
}
public String deletarUsuario() {
String retorno = "listar";
FacesMessage msg;
try {
Connection con = ConnectionFactory.GetConnection();
String sql = "DELETE FROM Usuario WHERE nome = ?";
// cria um preparedStatement
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setString(1, nome);
System.out.println("Entrou aqui!!!!");
stmt.execute();
//fecha a conexão
stmt.close();
con.close();
msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Usuario Removido com Sucesso", "");
FacesContext.getCurrentInstance().addMessage(null, msg);
return retorno;
} catch (SQLException ex) {
Logger.getLogger(ProfessorBean.class.getName()).log(Level.SEVERE, null, ex);
return retorno;
}
}
public List<Usuario> listar() {
ArrayList<Usuario> usuarios = new ArrayList<Usuario>();
try {
Connection con = ConnectionFactory.GetConnection();
String sql = "SELECT * FROM Usuario";
// cria um preparedStatement
PreparedStatement stmt = con.prepareStatement(sql);
// executa o select
ResultSet rs = stmt.executeQuery();
System.out.println(rs.toString());
// itera no ResultSet
while (rs.next()) {
System.out.println(rs.getString("nome"));
System.out.println(rs.getString("senha"));
System.out.println(rs.getObject("groupid"));
System.out.println("----");
Usuario u = new Usuario();
u.setNome(rs.getString("nome"));
u.setSenha(rs.getString("senha"));
usuarios.add(u);
}
//fecha a conexão
stmt.close();
con.close();
return usuarios;
} catch (SQLException ex) {
Logger.getLogger(GrupoBean.class.getName()).log(Level.SEVERE, null, ex);
return usuarios;
}
}
/**
* Creates a new instance of UsuarioBean
*/
public UsuarioBean() {
}
}
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition 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:ui="http://java.sun.com/jsf/facelets"
template="./../modeloPrincipal.xhtml"
xmlns:p="http://primefaces.prime.com.tr/ui"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html">
<ui:define name="content">
<p:growl id="growl" showDetail="true" life="3000" />
<h:form id="cadastro">
<h:panelGrid columns="2" cellpadding="5">
<h:outputText value="Nome do Usuário:" />
<h:inputText id="name" title="Digite o nome de usuário a ser criado" value="#{usuarioBean.nome}"/>
<h:outputText value="Senha do Usuário:" />
<h:inputText id="password" title="Digite senha do usuário" value="#{usuarioBean.senha}"/>
<h:outputText value="Grupo do Usuário:" />
<h:selectOneMenu value="#{usuarioBean.groupid}">
<f:converter converterId="usuarioConverter" />
<f:selectItem itemLabel="Selecione" itemValue="" />
<f:selectItems value="#{grupoBean.listar()}" var="grupo" itemLabel="#{grupo.nome}" itemValue="#{grupo.groupid}"/>
</h:selectOneMenu>
<h:commandButton action="#{usuarioBean.criarUsuario()}" value="Salvar"/>
</h:panelGrid>
</h:form>
</ui:define>
</ui:composition>
Aparentemente tudo está certo, mas não está funcionando :(
Vocês sabem o que pode ser?
Desculpem se o código está um pouco bagunçado. Quando funcionar eu organizo ele :D
Agradeço a ajuda de todos!

