Tavaszi adatok - CrudRepository save () módszer

1. Áttekintés

CrudRepository egy Spring Data interfész általános CRUD műveletekhez egy adott típusú lerakaton. Számos módszert kínál a dobozból az adatbázissal való interakcióhoz.

Ebben az oktatóanyagban elmagyarázzuk, hogyan és mikor kell használni CrudRepositorymentés() módszer.

Ha többet szeretne megtudni a tavaszi adattárakról, tekintse meg összehasonlító cikkünket CrudRepository a keretrendszer más adattár interfészei felé.

2. Függőségek

Hozzá kell adnunk a Spring Data és a H2 adatbázis-függőségeket pom.xml fájl:

 org.springframework.boot spring-boot-starter-data-jpa com.h2database h2 futásidejű 

3. Példa alkalmazásra

Először hozzuk létre a Spring Data nevű entitásunkat MerchandiseEntity. Ez az osztály fog definiálja azokat az adattípusokat, amelyek az adatbázisba fennmaradnak, amikor meghívjuk a mentés() módszer:

@Entity public class MerchandiseEntity {@Id @GeneratedValue (strategy = GenerationType.AUTO) private Long id; magán dupla ár; privát String márka; public MerchandiseEntity () {} public MerchandiseEntity (String márka, dupla ár) {this.brand = brand; ez.ár = ár; }}

Ezután hozzunk létre egy CrudRepository interfész a MerchandiseEntity:

@Repository nyilvános felület Az InventoryRepository kiterjeszti a CrudRepository {}

Itt adjuk meg az entitás osztályát és az entitásazonosító osztályát, MerchandiseEntity és Hosszú. Amikor ennek az adattárnak egy példányát példányosítja, az alapul szolgáló logika automatikusan a helyén lesz a munkánkkal való együttműködéshez MerchandiseEntity osztály.

Tehát nagyon kevés kóddal már készen állunk a mentés() módszer.

4. CrudRepository Save () Új példány hozzáadásához

Hozzunk létre egy új példányt MerchandiseEntity és mentse az adatbázisba a InventoryRepository:

InventoryRepository repo = context .getBean (InventoryRepository.class); MerchandiseEntity nadrág = new MerchandiseEntity ("Nadrágpáros", BigDecimal.ONE); nadrág = repo.save (nadrág);

Ennek futtatásával új bejegyzés jön létre az adatbázis táblájában MerchandiseEntity. Figyeljük meg, hogy soha nem adtunk meg egy id. A példány kezdetben egy nulla értéke annak id és amikor felhívjuk a mentés() módszer, an id automatikusan generálódik.

A mentés() metódus adja vissza a mentett entitást, beleértve a frissítettet is id terület.

5. CrudRepository save () egy példány frissítéséhez

Használhatjuk ugyanazt a save () metódust meglévő bejegyzés frissítéséhez az adatbázisunkban. Tegyük fel, hogy megmentettünk egy MerchandiseEntity példány egy adott címmel:

MerchandiseEntity nadrág = new MerchandiseEntity ("Nadrágpár", 34.99); nadrág = repo.save (nadrág); 

De később azt tapasztaltuk, hogy frissíteni szeretnénk a cikk árát. Ezután egyszerűen megszerezhetjük az entitást az adatbázisból, elvégezhetjük a módosítást és felhasználhatjuk az mentés() módszer, mint korábban.

Feltéve, hogy ismerjük a id az elem (nadrágazonosító), használhatjuk a CRUDTár módszer findById hogy megszerezzük entitásunkat az adatbázisból:

MerchandiseEntity nadrágInDB = repo.findById (pantsId) .get (); pantsInDB.setPrice (44.99); repo.save (nadrágInDB); 

Itt frissítettük az eredeti entitásunkat egy új árral, és a változtatásokat visszatártuk az adatbázisba.

6. Következtetés

Ebben a gyors cikkben kitértünk a használatára CrudRepository’S save () metódus. Ezzel a módszerrel új bejegyzést adhat hozzá az adatbázisához, valamint frissíthet egy meglévőet.

Szokás szerint a cikk kódjának vége a GitHubon.