Ir ao conteúdo

Java Como resolver esse erro de java.lang.NullPointerException


Ir à solução Resolvido por AdrianoSiqueira,

Posts recomendados

Postado

Erro = Exception in thread “main” java.lang.NullPointerException at controller.ProjectController.save(ProjectController.java:42) at TodoApp2.Main.main(Main.java:29)

public class ProjectController { public void save(Project project){ String sql = "INSERT INTO Projects (name," + "description," + "createdAt," + "updatedAt) VALUES (?,?,?,?)";

Connection connection = null

; PreparedStatement statement = null

; try {

//cria uma conexao com o banco

connection = ConnectionFactory.getConnection();

//cria um

PreparedStament,

classe usada para executar a query

statement = connection.prepareStatement(sql);

statement.setString(1, project.getName());

statement.setString(2, project.getDescription());

statement.setDate(3, new Date(project.getCreatedAt().

42- getTime())); statement.setDate(4, new Date(project.getUpdatedAt().getTime()));

//Executa a sql para inserção dos dados

statement.execute();

} catch (SQLException ex) { throw new RuntimeException("Erro ao salvar a tarefa", ex); } finally { ConnectionFactory.closeConnection(connection, statement); } }

Postado

Você está tentando chamar um método de um objeto nulo. Provavelmente algum objeto não foi iniciado corretamente. Qual linha exatamente está lançando essa exceção? Verifique se a conexão com o banco de dados está acontecendo corretamente.

Postado

Só com o trecho de código que você postou não dá para afirmar o que pode ser. Se você puder, poste o código da classe toda.

 

Veja se nessa linha não tem nenhum erro de digitação. Se você estiver usando um IDE, veja se ele acusa algum erro nessa linha, geralmente fica um sublinhado vermelho, ou algum outro indicador de problema.

Postado

Lá no método main você cria um objeto do tipo Projeto, mas você não seta o updatedAt. Se esse atributo for um objeto (ou seja, não é um tipo primitivo), o Java vai iniciá-lo com null. Dessa forma, quando você chama getUpdatedAt é retornado null, até aí tudo bem, afinal ele foi inicializado com o valor padrão. O problema é que na sequência você chama getTime, mas como o valor foi null, é lançado uma exceção (NullPointerException).

 

O que está acontecendo é isso:

projeto.getUpdatedAt().getTime();
null.getTime();  // Isso não pode acontecer
NullPointerException;

 

Para resolver, você tem que setar o updatedAt lá no método main.

Postado

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'WHERE id = 1' at line 1

image.thumb.png.991babb43ecfd5c773a0393f9818d3ef.png

fui atualizar e ta dando esse erro

resolvi aqui

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Mostrar mais  

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

Mostrar mais  
×
×
  • Criar novo...