Johdatus Spring Data JPA:han
Ymmärtäkää Spring Data JPA:n edut ja määrittäkää sovelluksellenne tietokantayhteys.
Johdatus Spring Data JPA:han on ilmainen Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-oppitunti CoddyKitissä. Tämä on oppitunti 2/6. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-kurssilla on yhteensä 6 oppituntia.
Mitä datan pysyvyys tarkoittaa?
Kuvitelkaa sovellus, jonka on muistettava käyttäjäasetukset, tuotetiedot tai blogikirjoitukset. Jos nämä tiedot katoavat aina sovelluksen sulkeutuessa, sovelluksesta ei ole paljon hyötyä!
Datan pysyvyys tarkoittaa sovelluksen kykyä tallentaa data pysyvästi. Data säilyy siis myös sen jälkeen, kun sovellus on lopettanut toimintansa tai laite on sammutettu. Tietokannat ovat yleisimpiä työkaluja tämän toteuttamiseen.
Java ja tietokannan välinen vuorovaikutus
Javassa tietokantojen kanssa toimiminen on perinteisesti tarkoittanut JDBC (Java Database Connectivity) -rajapinnan, matalan tason API:n, käyttöä. Vaikka se on tehokas, koodista voi tulla varsin monisanaista.
Asioiden yksinkertaistamiseksi syntyi JPA (Java Persistence API) -standardi. JPA tarjoaa ORM (Object-Relational Mapping) -lähestymistavan, jonka avulla tietokantataulujen kanssa voidaan työskennellä tavallisilla Java-olioilla ja vähentää suoraa SQL:n käyttöä.
Tutustutaan Spring Data JPA:han!
Spring Data JPA on tehokas moduuli laajemmassa Spring Data -projektissa. Se rakentuu JPA-standardin päälle ja tekee tietokantojen käytöstä Spring-sovelluksissa entistä yksinkertaisempaa ja tehokkaampaa.
Sen päätavoitteena on vähentää merkittävästi yleisiin datankäsittelytoimintoihin tarvittavaa toistokoodia, jotta voitte keskittyä sovelluksen liiketoimintalogiikkaan.
Miksi Spring Data JPA on erinomainen
Spring Data JPA tarjoaa useita merkittäviä etuja:
- Vähemmän toistokoodia: Teidän ei tarvitse kirjoittaa perustason CRUD-metodeja (Create, Read, Update, Delete).
- Kyselyiden automaattinen generointi: Määrittäkää metodien nimet (esimerkiksi
findByEmail), niin Spring Data JPA luo SQL-kyselyn automaattisesti. - Saumaton Spring-integraatio: Se integroituu täydellisesti Springin muihin ominaisuuksiin, kuten riippuvuuksien injektointiin ja transaktioiden hallintaan.
- Tuki eri tietokannoille: Se toimii suosittujen relaatiotietokantojen, kuten H2:n, MySQL:n, PostgreSQL:n ja Oraclen, kanssa.
Tärkeät riippuvuudet
Spring Data JPA:n käyttämiseksi Spring Boot -projektissa teidän on lisättävä tietyt riippuvuudet tiedostoon pom.xml (Maven) tai build.gradle (Gradle).
Perusasetuksissa käytämme kahta pääriippuvuutta:
spring-boot-starter-data-jpa: Tämä on keskeinen riippuvuus. Se tuo mukanaan JPA:n, Hibernate-ohjelmiston (oletusarvoisen JPA-toteutuksen) ja Spring Data JPA:n.h2: Muistissa toimiva tietokanta. Se sopii erinomaisesti kehitykseen ja testaukseen, koska se on kevyt ja helppo ottaa käyttöön ilman erillistä tietokantapalvelinta.
`pom.xml`-tiedoston määritys
Näin lisäätte yleensä nämä riippuvuudet pom.xml-tiedostoon. spring-boot-starter-parent hallinnoi versioita puolestanne.
Huomatkaa H2:n <scope>runtime</scope>-määritys. Se tarkoittaa, että riippuvuutta tarvitaan suorituksen aikana, mutta ei koodin kääntämiseen.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.5</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.coddykit</groupId>
<artifactId>jpa-intro</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>jpa-intro</name>
<description>Intro to Spring Data JPA</description>
<properties>
<java.version>17</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>Tietokantayhteyden automaattinen määritys
Yksi Spring Bootin kätevimmistä ominaisuuksista on automaattinen määritys. Kun se havaitsee spring-boot-starter-data-jpa-riippuvuuden ja tietokanta-ajurin (kuten H2:n) classpath-polussa, se määrittää DataSource-olion automaattisesti.
DataSource määrittää käytännössä, miten sovellus yhdistää tietokantaan. Siksi teidän ei yleensä tarvitse kirjoittaa itse yhteyspoolin tai tietokannan asetusten koodia; Spring Boot huolehtii järkevistä oletusasetuksista!
`application.properties` H2:lle
Vaikka automaattinen määritys on kätevää, tietokannan asetuksia halutaan usein mukauttaa. Tämä tehdään yleensä application.properties- tai application.yml-tiedostossa.
Näin määritätte muistissa toimivan H2-tietokannan ja otatte käyttöön sen sisäänrakennetun verkkokonsolin. Se on erittäin hyödyllinen tietokannan sisällön tarkasteluun kehityksen aikana:
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=password
spring.jpa.database-platform=org.hibernate.dialect.H2DialectEnsimmäinen Spring Boot -sovelluksemme
Kun tarvittavat riippuvuudet ja tietokannan asetukset ovat paikoillaan, Spring Boot -sovelluksemme on valmis käynnistymään ja muodostamaan yhteyden H2-tietokantaan. Tämä yksinkertainen luokka käynnistää sovelluksen.
Suorituksen jälkeen H2-konsoliin pääsee yleensä osoitteessa http://localhost:8080/h2-console käyttämällä edellä määritettyjä tunnistetietoja.
package com.coddykit.jpaintro;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class JpaIntroApplication {
public static void main(String[] args) {
SpringApplication.run(JpaIntroApplication.class, args);
System.out.println("Spring Boot application started with H2 database!");
// The application will keep running until manually stopped.
// If h2 console is enabled, you can visit:
// http://localhost:8080/h2-console
// Use JDBC URL: jdbc:h2:mem:testdb, User: sa, Password: password
}
}Pikatarkistus: keskeinen riippuvuus
Mikä seuraavista riippuvuuksista vastaa ensisijaisesti Spring Data JPA:n ja sen taustalla olevan JPA-toteutuksen, kuten Hibernate-ohjelmiston, tuomisesta Spring Boot -projektiin?
Kertaus: johdatus Spring Data JPA:han
Hienoa työtä! Tässä oppitunnissa otitte ensimmäiset askeleenne Spring Bootin datan pysyvyyden parissa.
- Ymmärsimme, miksi datan pysyvyys on sovelluksille tärkeää.
- Tutustuimme Spring Data JPA:han tehokkaana työkaluna, joka yksinkertaistaa tietokantojen käyttöä.
- Opitte lisäämään tärkeät riippuvuudet, kuten
spring-boot-starter-data-jpajah2. - Määritimme muistissa toimivan H2-tietokannan
application.properties-tiedoston avulla ja näimme, miten Spring Boot määrittääDataSource-olion automaattisesti. - Lopuksi suorititte perustason Spring Boot -sovelluksen, jossa H2 oli valmiina käyttöön!
Seuraavaksi perehdymme entiteettien ja repositorioiden määrittämiseen, jotta voimme todella käyttää tietokantaamme!
Opi Java tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 24
- Oppitunnit
- 93
Usein kysytyt kysymykset
Onko oppitunti ”Johdatus Spring Data JPA:han” ilmainen?
Kyllä – oppitunnin ”Johdatus Spring Data JPA:han” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-kurssin, päivitä CoddyKit PROhon. Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-kurssilla on yhteensä 6 oppituntia.
Mitä opin oppitunnilla ”Johdatus Spring Data JPA:han”?
Ymmärtäkää Spring Data JPA:n edut ja määrittäkää sovelluksellenne tietokantayhteys. Harjoittelet Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/6.
Kuinka kauan ”Johdatus Spring Data JPA:han”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-oppitunnilla?
Kyllä. Jokainen Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- H2-tietokannan ja JPA:n integrointi
- Johdatus Spring Data JPA:han
- Entiteettien ja repositorioiden luominen
- Entiteettien ja repositorioiden määrittäminen
- CRUD-operaatiot RESTillä
- CRUD-operaatioiden suorittaminen