Eu estou desenvolvendo uma aplicação utilizando MySQL, possuo uma classe que é a interação da tabela “clientes” com o resto da aplicação. Esta classe tem por principal responsabilidade inserir dados no banco e ler os mesmos. Eu tinha feito um método responsável pela inserção dos dados, com um código mais ou menos assim:
private static final String CHAVE_DUPLICADA = "23000";
try {
Statement statement = ConexaoBaseDeDados.getConnection();
statement.executeUpdate(query);
statement.close();
} catch (SQLException ex) {
if (ex.getSQLState().equals(CHAVE_DUPLICADA)
System.out.println("Chave duplicada!");
else System.out.println("Problema na conexão com o banco!");
}
Até aí tudo bem, tudo funcionava normal, ele avisava quando a chave estava duplicada sem problemas, mas de uma hora para outra começou a disparar a seguinte excessão: ExceptionInInitializerError, e aponta como erro a linha statement.executeQuery(query); O estranho é que quando a chave não está duplicada os dados são inseridos no banco de dados sem nenhum problema!
O que pode estar acontecendo?