Como cadastrar null no banco de dados mysql

Estou tentando cadastrar null no banco de dados mais não estou conseguindo ja tentei cadastrar o campo em branco mais ele nn aceita porque no no banco o valor é inteiro.
Por favor me ajudem na Sintax.

Tirar a obrigatoriedade no Banco de Dados para cadastrar NULL?

Mano eu fiz isso mais quando eu vou cadastrar no java e mando null ele da erro
java.lang.NullPointerException

Integer IdBeneficio = StringUtils.isNullOrEmpty(idBeneficio.getText()) ? null : Integer.parseInt(idBeneficio.getText());

Posta seu INSERT INTO

Seus atributos estão definidos como são primitivos ou Objetos?

Eu acredito que já sei qual é o problema.

De acordo com a documentação esta é a assinatura de setInt(int indexColuna, int valor) e baseado no código que você postou você esta passando a classe wrapper Integer e o que Java faz nesses casos? unboxing mas opa!, n tem objeto nenhum e sim um null. logo temos ai a possível causa do seu NullPointerException.

Mais um ponto, em SQL para que um campo seja nulo ele não deve possuir restrição anti-nulo e no momento do insert a coluna não deve ser declaradada. exemplo: considere que uma tabela Aluno com nome e sobrenome

Chaves será inserido sem um sobrenome na tabela. Ou seja você terá que retirar a coluna idBeneficio da sua query de insert e retirar o respectivo setID. Um modo de contornar isso é você usar um Builder

Pesquisando aqui mesmo achei:

if (valor == null)
    stmt.setNull(1, Types.INTEGER);
else
    stmt.setInt(1, valor);

Ou então passar zero:

stmt.setInt(1, var == null ? 0 : var);

Fonte: http://www.guj.com.br/t/inserir-null-no-banco-atraves-do-preparedstatement-resolvido/294865/9?u=shura16

1 curtida