CS2031:

Desarrollo Basado en Plataformas

Semana 04: API con Spring Boot

Contenido

  • Actividad: Organización de Archivos
     
  • Java Persistence API (I): Repository, Query Methods
     
  • Java Persistence API (II): Relations
     
  • Lab 02.01: Desarrollo de un API con Spring Boot y BBDD

Actividad

Una universidad que se inauguró en Agosto, necesita una plataforma donde se ofrecerán cursos virtuales a sus 1924 alumnos de 7 facultades . Ud. como experto debe proponer un API.

¿Cómo organizarias los archivos

en tu proyecto?

3 personas por equipo

Preguntas

¿Cómo añado un nuevo feature?

¿Qué debo hacer para añadir un nuevo tipo de curso?

¿Qué debo hacer para cambiar la base de datos? (*)

Java Persistence API (JPA)

Es un API que nos permite realizar la gestión de datos y persistencia

a través de repositorios.

Java Persistence API (JPA)

public interface CrudRepository<T, ID> extends Repository<T, ID> {

  <S extends T> S save(S entity);      

  Optional<T> findById(ID primaryKey); 

  Iterable<T> findAll();               

  long count();                        

  void delete(T entity);               

  boolean existsById(ID primaryKey);   

  // … more functionality omitted.
}

Query Methods

¿Cómo hago queries específicas de mis atributos?

 

Ejemplo:

¿Cómo busco todas mis canciones por el nombre de un artista?

Query Methods

class Song {
    Long id;
    
    String title;
    
    String artist;
    
    // More attributes & methods
}

interface SongRepository extends Repository<Song, Long> {
	List<Person> findByArtist(String artist);
}

Query Methods Keywords:

SubjectPredicate & Modifiers 

Query Methods

¿Cómo obtengo todas mis canciones que son de cierto género pero no de cierto artista?

Java Persistence API (JPA) II: Relations

Lab 02.01: API con Spring Boot + Postgres + Docker

References

Made with Slides.com