public static boolean insertar(Recurso r) throws SQLException {

        // Deshabilitamos el autocommit para poder hacer rollback en caso de
        // error en alguna inserción (tocamos varias tablas)
        // ConnectionManager.connection.setAutoCommit(false);

        // Al insertar un nuevo recurso este se marca como disponible por defecto
        String queryRecurso = "INSERT INTO recurso (id, isbn, titulo, fecha, genero, num_ejemplar, estado_conserva, tipo, disponibilidad)"
                + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, 1)";
        String queryLibro = "INSERT INTO recurso_libro (id, autor, editorial)"
                + "VALUES (?, ?, ?)";
        String queryOptico = "INSERT INTO recurso_optico (id, autor)"
                + "VALUES (?, ?)";
        String queryRevista = "INSERT INTO recurso_revista (id, editorial, fasciculo)"
                + "VALUES (?, ?, ?)";

        try {
            if (r instanceof Libro) {
                ConnectionManager.executeSentence(queryRecurso, r.getID(), r.getISBN(), r.getTitulo(), r.getFechaEdicion(), r.getGenero(), r.getNumEjemplar(), r.getEstadoConservacion(), "Libro");
                ConnectionManager.executeSentence(queryLibro, r.getID(), ((Libro) r).getAutor(), ((Libro) r).getEditorial());
            } else if (r instanceof Revista) {
                ConnectionManager.executeSentence(queryRecurso, r.getID(), r.getISBN(), r.getTitulo(), r.getFechaEdicion(), r.getGenero(), r.getNumEjemplar(), r.getEstadoConservacion(), "Revista");
                ConnectionManager.executeSentence(queryRevista, r.getID(), ((Revista) r).getEditorial(), ((Revista) r).getNumFasciculo());
            } else if (r instanceof CdDvd) {
                ConnectionManager.executeSentence(queryRecurso, r.getID(), r.getISBN(), r.getTitulo(), r.getFechaEdicion(), r.getGenero(), r.getNumEjemplar(), r.getEstadoConservacion(), "Optico");
                ConnectionManager.executeSentence(queryOptico, r.getID(), ((CdDvd) r).getAutor());
            }
        } catch (Exception e) {
            System.out.println("Error: " + e.getMessage());
            return false;
        }
        return true;
    }