Chapitre 6 Spring Data

Telechargé par Tarchouna Marwa
Spring DATA
Présentation
Spring Data est un projet de Spring créé pour répondre
aux besoins de :
écrire plus simplement l'accès aux données et
avoir une couche d'abstraction commune à de multiples
sources de données.
Spring Data Commons contient :
les classes pour fonctionner,
les interfaces que l'utilisateur aura à étendre (directement ou
pas) :
Repository,
CrudRepository et
PagingAndSortingRepository
Interfaces de base
En fonction des méthodes de base que le développeur voudra
utiliser, ce dernier étendra une des trois interfaces.
Repository ne sert qu'à dire que l'interface qui l'étend est
un repository
CrudRepository fournie les méthodes CRUD pour la source de
données sous-jacente (save, findOne, findAll, etc.).
PagingAndSortingRepository (cette dernière
étend CrudRepository qui étend Repository) accorde l’accès, en plus
des méthodes CRUD, à un ensemble de méthodes permettant de
faire de la pagination et du tri.
Ces interfaces prennent deux types paramétrés : le type de
l'entité que l'on manipule et le type de l'identifiant de l'entité.
CrudRepository<T, ID>
public interface CrudRepository<T, ID> extends
Repository<T, ID>
{
<S extends T> S save(S entity);
<S extends T> Iterable<S> saveAll(Iterable<S> entities);
Optional<T> findById(ID id);
boolean existsById(ID id);
Iterable<T> findAll();
Iterable<T> findAllById(Iterable<ID> ids);
long count();
void deleteById(ID id);
void delete(T entity);
void deleteAll(Iterable<? extends T> entities);
void deleteAll();
}
Exemple
public interface PersonneRep extends
CrudRepository<Personne, Long> { }
public class PersonneRepTest {
@Autowired
private PersonneRep personneRep;
public void setup() {
personneRep.deleteAll();
}
public void testSave() {
...
Personne personneSauvee =personneRep.save(personne);
...
}
}
1 / 21 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !