Komplett guide til Spring Boot 4 · leksjon

Integrasjon av NoSQL-databaser

Lær å integrere og samhandle med NoSQL-databaser som MongoDB eller Redis ved hjelp av Spring Data.

Leksjon 2 av 411 trinn

Integrasjon av NoSQL-databaser er en gratis leksjon i Komplett guide til Spring Boot 4 på CoddyKit. Dette er leksjon 2 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Komplett guide til Spring Boot 4, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Komplett guide til Spring Boot 4 inneholder totalt 4 leksjoner.

Introduksjon til NoSQL-databaser

Tradisjonelle databaser (som SQL) lagrer data i strukturerte tabeller. NoSQL-databaser tilbyr et fleksibelt alternativ som egner seg godt for store mengder ustrukturerte eller semistrukturerte data.

  • Ikke-relasjonelle: Ingen fastlagt skjema.
  • Skalerbare: Skaler enkelt horisontalt.
  • Ulike modeller: Dokument, nøkkel-verdi, graf og kolonnefamilie.

De egner seg godt for stordata, sanntidsnettapper og mikrotjenester.

Spring Datas rolle i NoSQL

Akkurat som med JPA tilbyr Spring Data en konsekvent og velkjent programmeringsmodell for samhandling med ulike NoSQL-databaser.

Det forenkler datatilgang ved å:

  • Redusere standardkode.
  • Tilby repository-grensesnitt.
  • Håndtere databasespesifikke operasjoner.

Du får den samme Spring-opplevelsen også med ikke-relasjonelle datalagre!

Vårt NoSQL-eksempel: MongoDB

Det finnes mange NoSQL-databaser, som Redis (nøkkel-verdi), Cassandra (kolonnefamilie) og Neo4j (graf). I denne leksjonen fokuserer vi på MongoDB, en populær dokumentorientert database.

I MongoDB lagres data i fleksible, JSON-lignende dokumenter kalt BSON, gruppert i samlinger.

Legge til MongoDB-avhengigheten

Først må vi legge til startavhengigheten for Spring Data MongoDB i prosjektet vårt. Den tar med alle nødvendige biblioteker for å koble til MongoDB.

For Maven legger du dette til i pom.xml:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

Konfigurere MongoDB-tilkoblingen

Deretter forteller du Spring Boot hvordan den skal koble til MongoDB-instansen din. Vanligvis gjør du dette i filen application.properties eller application.yml.

Her er et grunnleggende oppsett for en lokal MongoDB:

spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
spring.data.mongodb.database=mydatabase

Definere MongoDB-dokumentet

I MongoDB lagres data i dokumenter. I Java representerer vi disse dokumentene med enkle POJO-er (Plain Old Java Objects). Bruk Spring Data MongoDB-annotasjoner som @Document og @Id.

import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

@Document(collection = "products")
public class Product {
  @Id
  private String id;
  private String name;
  private double price;

  public Product(String name, double price) {
    this.name = name;
    this.price = price;
  }

  // Getters and Setters (omitted for brevity)
  public String getId() { return id; }
  public void setId(String 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; }

  @Override
  public String toString() {
    return "Product{id='" + id + "', name='" + name + "', price=" + price + '}';
  }
}

Opprette et MongoRepository

Spring Data MongoDB gjør det enkelt å samhandle med dokumentene dine gjennom repository-grensesnitt. Utvid MongoRepository og angi dokumenttypen og ID-typen.

Dette gir deg grunnleggende CRUD-metoder med én gang!

import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface ProductRepository extends MongoRepository<Product, String> {
  // Spring Data automatically generates methods based on method names
  Product findByName(String name);
}

Grunnleggende CRUD-operasjoner

Med MongoRepository kan du utføre vanlige operasjoner:

  • Lagre: repository.save(product) for å sette inn eller oppdatere.
  • Finne: repository.findById(id) for å hente et dokument etter ID.
  • Finne alle: repository.findAll() for å hente alle dokumenter.
  • Slette: repository.deleteById(id) for å fjerne et dokument.

Du kan også definere egendefinerte spørringer ved ganske enkelt å deklarere metodenavn!

Demonstrasjon av MongoDB-integrasjon

La oss sette alt sammen! Denne Spring Boot-applikasjonen lagrer et produkt, finner det igjen og skriver ut detaljene. Sørg for at MongoDB kjører lokalt.

import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository;

@SpringBootApplication
public class MongoDemoApplication {

  public static void main(String[] args) {
    SpringApplication.run(MongoDemoApplication.class, args);
  }

  @Bean
  public CommandLineRunner demo(ProductRepository repository) {
    return (args) -> {
      System.out.println("--- MongoDB Demo ---");

      // Clear existing data (optional)
      repository.deleteAll();

      // Save a new product
      Product product1 = new Product("Laptop Pro", 1200.00);
      repository.save(product1);
      System.out.println("Saved: " + product1);

      // Find by name
      Product foundProduct = repository.findByName("Laptop Pro");
      System.out.println("Found by name: " + foundProduct);

      // Find all products
      System.out.println("All products:");
      repository.findAll().forEach(System.out::println);

      System.out.println("--- Demo End ---");
    };
  }

  // Nested Document class
  @Document(collection = "products")
  public static class Product {
    @Id
    private String id;
    private String name;
    private double price;

    public Product(String name, double price) {
      this.name = name;
      this.price = price;
    }

    public String getId() { return id; }
    public void setId(String 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; }

    @Override
    public String toString() {
      return "Product{id='" + id + "', name='" + name + "', price=" + price + '}';
    }
  }

  // Nested Repository interface
  @Repository
  public interface ProductRepository extends MongoRepository<Product, String> {
    Product findByName(String name);
  }
}

Hurtigsjekk: NoSQL-repositoryer

Du har sett hvordan Spring Data forenkler samhandling med NoSQL. Hvilken annotasjon markerer en klasse som et MongoDB-dokument i Spring Data?

Oppsummering: NoSQL med Spring Data

Godt jobbet! Du har lært hvordan du integrerer NoSQL-databaser ved hjelp av Spring Data. Vi gikk gjennom:

  • Formålet med NoSQL-databaser.
  • Å legge til MongoDB-startavhengigheten.
  • Konfigurering av tilkoblingsegenskaper.
  • Oppretting av @Document-klasser og MongoRepository-grensesnitt.
  • Utføring av grunnleggende CRUD-operasjoner.

Spring Data gjør NoSQL like enkelt å bruke som tradisjonelle SQL-databaser!

Gratis å komme i gang

Lær deg Java med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
21
Leksjoner
84

Ofte stilte spørsmål

Er leksjonen «Integrasjon av NoSQL-databaser» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Komplett guide til Spring Boot 4, inkludert «Integrasjon av NoSQL-databaser», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Komplett guide til Spring Boot 4 inneholder totalt 4 leksjoner.

Hva lærer jeg i «Integrasjon av NoSQL-databaser»?

Lær å integrere og samhandle med NoSQL-databaser som MongoDB eller Redis ved hjelp av Spring Data. Du øver på Komplett guide til Spring Boot 4 med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Komplett guide til Spring Boot 4?

Ingen tidligere erfaring er nødvendig. Komplett guide til Spring Boot 4 på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.

Hvor lang tid tar leksjonen «Integrasjon av NoSQL-databaser»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Komplett guide til Spring Boot 4-leksjonen?

Ja. Alle Komplett guide til Spring Boot 4-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Egendefinerte Spring Data-repositorier
  2. Integrasjon av NoSQL-databaser
  3. Bufring med Spring Cache
  4. Databasemigreringer med Flyway
← Tilbake til Komplett guide til Spring Boot 4