@Override
    public List<Autor> listAll() {
        Connection conn = null;
        PreparedStatement pstm = null;
        ResultSet rs = null;
        List<Autor> autores = new ArrayList<>();
        try{
            conn = ConnectionFactory.getConnection();
            pstm = conn.prepareStatement(LIST);
            rs = pstm.executeQuery();
            while (rs.next()){
                Autor a = new Autor();
                a.setId_autor(rs.getInt("id_autor"));
                a.setNome(rs.getString("nome_au"));
                a.setSobrenome(rs.getString("sobrenome_au"));
                a.setEmail(rs.getString("email_au"));
                autores.add(a);
            }
        }catch(Exception e){
            JOptionPane.showMessageDialog(null,"Erro ao listar autores " + e);
        }finally{
            try{
                ConnectionFactory.closeConnection(conn, pstm, rs);
            }catch(Exception e){
                JOptionPane.showMessageDialog(null,"Erro ao desconectar com o banco " + e);
            }
        }
        return autores;
    }