1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Erro em conexão MySQL Netbeans 8.1.2

Resolvi fazer um mini curso do canal Descompila (Java com bancos MySQL) e, diferente do programa do autor do curso, o meu deu erro na conexão MySQL:

(ERRO)

Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: Erro na conexão: at connection.ConnectionFactory.getConnection(ConnectionFactory.java:24) at model.dao.ProdutoDAO.create(ProdutoDAO.java:11) Caused by: java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long at com.mysql.jdbc.ConnectionImpl.buildCollationMapping(ConnectionImpl.java:1007)

(Classe ConnectionFactory)

package connection;

import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.logging.Level; import java.util.logging.Logger;

public class ConnectionFactory {

private static final String DRIVER = "com.mysql.jdbc.Driver"; private static final String URL = "jdbc:mysql://localhost:3306/abc"; private static final String USER = "root"; private static final String PASS = "123456";

public static Connection getConnection() { try { Class.forName(DRIVER); return DriverManager.getConnection(URL, USER, PASS); } catch (ClassNotFoundException | SQLException ex) { throw new RuntimeException("Erro na conexão: ", ex); } }

public static void closeConnection(Connection con) { try { if (con != null) { con.close(); } } catch (SQLException ex) { Logger.getLogger(ConnectionFactory.class.getName()).log(Level.SEVERE, null, ex); } }

public static void closeConnection(Connection con, PreparedStatement stmt) {

closeConnection(con);

try {

if (stmt != null) { stmt.close(); }

} catch (SQLException ex) { Logger.getLogger(ConnectionFactory.class.getName()).log(Level.SEVERE, null, ex); } }

public static void closeConnection(Connection con, PreparedStatement stmt, ResultSet rs) {

closeConnection(con, stmt);

try {

if (rs != null) { rs.close(); }

} catch (SQLException ex) { Logger.getLogger(ConnectionFactory.class.getName()).log(Level.SEVERE, null, ex); } } }

(Classe DAO)

package model.dao; import connection.ConnectionFactory; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; import javax.swing.JOptionPane; import model.bean.Produtos;

public class ProdutoDAO { public void create(Produtos p){ Connection con = ConnectionFactory.getConnection(); PreparedStatement stmt = null;

try { stmt = con.prepareStatement("INSERT INTO produtos (descricao, qtt, preco)VALUES(?,?,?)"); stmt.setString(1, p.getDesc()); stmt.setInt(2, p.getQtt()); stmt.setDouble(3, p.getPrice());

stmt.executeUpdate();

JOptionPane.showMessageDialog(null, "Salvo com sucesso."); } catch (SQLException ex) { JOptionPane.showMessageDialog(null, "Erro ao salvar." + ex); } finally{ ConnectionFactory.closeConnection(con, stmt); } }

}

Sinceramente, tentei de tudo, mas não achei o erro. Minha conexão (na aba serviços) aparentemente deu certo, mas pode ser isso (vou investigar).

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags mysql java netbeans connection ou faça a sua própria pergunta.