Sobes.tech
Junior — Middle

Cum interacționează microserviciul cu baza de date pentru stocarea și recuperarea datelor?

sobes.tech AI

Răspuns de la AI

Un microserviciu în Go interacționează cu baza de date prin intermediul driverelor sau bibliotecilor ORM care implementează o interfață pentru conectare, executarea interogărilor și procesarea rezultatelor.

Pașii principali:

  1. Stabilirea unei conexiuni cu baza de date folosind un pachet, de exemplu, database/sql și driverul corespunzător (de exemplu, pq pentru PostgreSQL).
  2. Executarea interogărilor SQL pentru inserare, actualizare, ștergere sau selectare de date.
  3. Procesarea rezultatelor interogărilor și transformarea acestora în structuri de date necesare.

Exemplu de conectare și interogare în PostgreSQL:

import (
    "database/sql"
    _ "github.com/lib/pq"
    "log"
)

func getUserByID(db *sql.DB, id int) (string, error) {
    var name string
    err := db.QueryRow("SELECT name FROM users WHERE id = $1", id).Scan(&name)
    if err != nil {
        return "", err
    }
    return name, nil
}

func main() {
    connStr := "user=username dbname=mydb sslmode=disable"
    db, err := sql.Open("postgres", connStr)
    if err != nil {
        log.Fatal(err)
    }
    defer db.Close()

    name, err := getUserByID(db, 1)
    if err != nil {
        log.Println("Eroare la preluarea utilizatorului:", err)
    } else {
        log.Println("Numele utilizatorului:", name)
    }
}

Astfel, microserviciul utilizează biblioteci și drivere standard pentru a interacționa cu baza de date.