Update MySQL

Estou com problemas para atualizar o banco de dados, através do ID.

	public void atualizar(Cantor cantor) {

		String sql = "update tbl_teste set nome = ?, cidade = ?, data = ?, estilo = ? where ID = ?";
		
		try {
			PreparedStatement stm = con.prepareStatement(sql);
		 	stm.setString(1, cantor.getNome());
			stm.setString(2, cantor.getCidade());
			stm.setString(3, cantor.getData());
			stm.setString(4, cantor.getEstilo());
			stm.setInt(5, cantor.getID());
			if(stm.execute()){
				JOptionPane.showMessageDialog(null,"Ocorreu um problema na atualização", "Erro", JOptionPane.ERROR_MESSAGE);
			}
			else{
				JOptionPane.showMessageDialog(null,"Dados atualizados com sucesso", "Sucesso", JOptionPane.INFORMATION_MESSAGE);
			}
			ConexaoMysql.fecharConexao();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

oooookkkk, mas QUE PROBLEMAS?

use executeUpdate e tira esses IFs