Olá pessoal,
Minhas consultas na tabela Contas filtradas pelo campo Usuário sempre caem no “catch”. O problema pode estar no banco ou se resume apenas ao código Java?
public static boolean consulta(String email) throws SQLException, ClassNotFoundException{
Connection connection = new ConnectionFactory().getConnection();
String sql = "SELECT * FROM contas WHERE Usuario = ?";
PreparedStatement stmt;
try {
stmt = connection.prepareStatement(sql);
stmt.setString(1, email);
ResultSet rs = stmt.executeQuery();
boolean rest = false;
while(rs.next()){
rest = true;
}
return rest;
} catch (SQLException e) {
throw new RuntimeException("Não foi possível consultar a tabela Contas.");
} finally{
connection.close();
}
}
Primeiro, você dispara uma exception mas não diz qual é a exception.
NUNCA faça isso. As exceptions existem para ajudar a gente, e não para serem escondidas.
Olhe o código abaixo, teste e me diga o erro que deu. (posta aqui no GUJ)
} catch (SQLException e) {
// Aqui eu estou passando como segundo parametro a exception que eu recebi. Assim eu sei o que houve.
throw new RuntimeException("Não foi possível consultar a tabela Contas.", e);
}
Não vai resolver (pq provavelmente há erro em sua query), mas observe que seu código pode ser muito simplificado:
public static boolean consulta(String email) throws SQLException, ClassNotFoundException{
Connection connection = new ConnectionFactory().getConnection();
String sql = "SELECT * FROM contas WHERE Usuario = ?";
PreparedStatement stmt;
try {
stmt = connection.prepareStatement(sql);
stmt.setString(1, email);
ResultSet rs = stmt.executeQuery();
return rs.next();
} catch (SQLException e) {
throw new RuntimeException("Não foi possível consultar a tabela Contas.", e);
} finally{
if (stmt != null) stmt.close(); //É importante fechar o statement também
connection.close();
}
}
Realmente, ajudou bastante. 
Infelizmente o problema é maior do que eu pensava.
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table '************.contas' doesn't exist
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
java.lang.reflect.Constructor.newInstance(Constructor.java:526)Obrigado pela dica pessoal.
Consegui identificar o problema. 
No Windows o MySQL não é case sensitive por padrão, entretanto, no Linux, é case sensitive. Na minha máquina (Windows 7) não tive problemas. No servidor de minha hospedagem (Linux) acusava a tabela contas como existente, mas ao executar meu instalador da Base de Dados não ocorria erro durante a criação da tabela.
Explicação: Meu instalador cria a tabela Contas, minha consulta é na tabela contas.