H2-database en JPA integreren
Stel een in-memory H2-database in en configureer Spring Data JPA voor gegevenspersistentie.
H2-database en JPA integreren is een gratis Spring Boot 4-microservices en REST-API's-les op CoddyKit. Dit is les 1 van 6. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Spring Boot 4-microservices en REST-API's. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Spring Boot 4-microservices en REST-API's bevat in totaal 6 lessen.
Gegevens opslaan met persistentie
Welkom! In deze les leer je over gegevenspersistentie. Dit is de manier waarop applicaties informatie opslaan, zodat die niet verloren gaat wanneer de applicatie wordt afgesloten.
Je kunt het vergelijken met het opslaan van een document op je computer. Zonder persistentie zou al je werk verdwijnen telkens wanneer je de computer afsluit.
Kennismaken met JPA
JPA staat voor Java Persistence API. Het is een standaard voor het beheren van relationele gegevens in Java-applicaties.
Met JPA koppel je Java-objecten aan databasetabellen, een proces dat Object-Relational Mapping (ORM) heet. Zo werk je met objecten in plaats van complexe SQL-query's te schrijven.
Vereenvoudigen met Spring Data JPA
JPA is een standaard, maar Spring Data JPA maakt het gebruik ervan nog eenvoudiger! Het maakt deel uit van het Spring-framework.
Spring Data JPA biedt krachtige abstracties, waarmee je met minimale code gegevensopslagplaatsen kunt maken. Vaak hoef je alleen een interface te declareren en regelt Spring de implementatie!
H2: een database in het geheugen
Voor ontwikkeling gebruiken we H2 Database. Dit is een lichte, opensource relationele database.
- In het geheugen: De database draait volledig in het geheugen van je applicatie, waardoor hij zeer snel is tijdens de ontwikkeling.
- Eenvoudige installatie: Je hoeft niets afzonderlijk te installeren; voeg alleen een afhankelijkheid toe.
- Console: H2 wordt geleverd met een webconsole om je gegevens te bekijken.
Dit is ideaal voor tests en het snel bouwen van prototypes.
Projectafhankelijkheden voor H2 en JPA
Om H2 en Spring Data JPA in een Spring Boot-project te gebruiken, moeten we specifieke afhankelijkheden toevoegen aan ons pom.xml-bestand.
Deze afhankelijkheden vertellen Maven (onze buildtool) welke bibliotheken moeten worden opgenomen.
<pre><code><dependencies>
<!-- Spring Data JPA -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- H2 Database -->
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies></code></pre>De slimme configuratie van Spring Boot
Een van de sterke punten van Spring Boot is automatische configuratie. Wanneer Spring Boot de afhankelijkheden voor H2 en Spring Data JPA ziet, stelt het automatisch een databaseverbinding in en configureert het JPA voor je.
Dat betekent minder boilerplatecode en een snellere ontwikkeling! Standaard wordt doorgaans een H2-database in het geheugen gebruikt.
H2 aanpassen in `application.properties`
Hoewel Spring Boot H2 automatisch configureert, willen we vaak de webconsole inschakelen om onze database eenvoudig te bekijken. Dit doen we in src/main/resources/application.properties.
Voeg deze regels toe aan je application.properties-bestand:
<pre><code>spring.h2.console.enabled=true
spring.h2.console.path=/h2-console
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=</code></pre>Je H2-console openen
Zodra je Spring Boot-applicatie met de bovenstaande configuratie is gestart, kun je de H2-console openen via je webbrowser.
- Open je browser.
- Ga naar
http://localhost:8080/h2-console(als je applicatie op poort 8080 draait). - Gebruik de JDBC-URL
jdbc:h2:mem:testdben de gebruikersnaamsa(zonder wachtwoord) om verbinding te maken.
Je ziet een eenvoudige interface om tabellen te bekijken en SQL-query's uit te voeren.
Een eenvoudig gegevensmodel definiëren
Laten we nu een eenvoudige Java-klasse maken die JPA aan een databasetabel koppelt. Dit noemen we een entiteit.
We gebruiken @Entity om de klasse als JPA-entiteit te markeren en @Id om de primaire sleutel aan te geven.
<pre><code>package com.coddykit.lesson;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
@Entity
public class Product {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private double price;
// Getters and setters (omitted for brevity)
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public double getPrice() { return price; }
public void setPrice(double price) { this.price = price; }
}</code></pre>Gegevenstoegang met `JpaRepository`
Om met onze Product-entiteit te werken, definiëren we een repository-interface. Spring Data JPA levert automatisch de implementatie.
Door JpaRepository<Product, Long> uit te breiden, krijgen we de basisbewerkingen voor CRUD (Create, Read, Update, Delete) cadeau!
<pre><code>package com.coddykit.lesson;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface ProductRepository extends JpaRepository<Product, Long> {
// Spring Data JPA automatically provides methods
// like save(), findById(), findAll(), deleteById()
}</code></pre>Korte controle: H2- en JPA-configuratie
Welke van de volgende afhankelijkheden zijn essentieel voor het instellen van een H2-database in het geheugen met Spring Data JPA in een Spring Boot-project?
H2 en JPA: klaar voor persistentie!
Goed gedaan! In deze les heb je geleerd hoe je:
- gegevenspersistentie en JPA begrijpt.
- H2 Database en Spring Data JPA in je project integreert.
- H2 configureert en de webconsole opent.
- een eenvoudige JPA-entiteit en een
JpaRepository-interface definieert.
Je hebt de basis gelegd voor het bouwen van datagedreven Spring Boot-applicaties!
Leer Java met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 24
- Lessen
- 93
Veelgestelde vragen
Is de les “H2-database en JPA integreren” gratis?
Ja — de volledige tekst van “H2-database en JPA integreren” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Spring Boot 4-microservices en REST-API's wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Spring Boot 4-microservices en REST-API's bevat in totaal 6 lessen.
Wat leer ik in “H2-database en JPA integreren”?
Stel een in-memory H2-database in en configureer Spring Data JPA voor gegevenspersistentie. Je oefent met Spring Boot 4-microservices en REST-API's door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Spring Boot 4-microservices en REST-API's te beginnen?
Ervaring vooraf is niet nodig. Spring Boot 4-microservices en REST-API's op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 6.
Hoe lang duurt de les “H2-database en JPA integreren”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Spring Boot 4-microservices en REST-API's?
Ja. Elke les over Spring Boot 4-microservices en REST-API's bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- H2-database en JPA integreren
- Inleiding tot Spring Data JPA
- Entiteiten en repositories maken
- Entiteiten en repositories definiëren
- CRUD-bewerkingen met REST
- CRUD-bewerkingen uitvoeren