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:
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
Desarrollo Basado en Plataformas - ORM I
By Jorge Rios
Desarrollo Basado en Plataformas - ORM I
- 74