Sobes.tech
Junior — Middle

Kā mikroserviss sadarbojas ar datu bāzi datu glabāšanai un izgūšanai?

sobes.tech AI

Atbilde no AI

Microserviss Go valodā sadarbojas ar datu bāzi, izmantojot vadītājus vai ORM bibliotēkas, kas īsteno saskarni savienojuma izveidei, vaicājumu izpildei un rezultātu apstrādei.

Galvenie soļi:

  1. Izveidot savienojumu ar datu bāzi, izmantojot pakotni, piemēram, database/sql un atbilstošo vadītāju (piemēram, pq PostgreSQL gadījumā).
  2. Izpildīt SQL vaicājumus datu ievietošanai, atjaunināšanai, dzēšanai vai izvēlei.
  3. Apstrādāt vaicājumu rezultātus un pārveidot tos nepieciešamajās datu struktūrās.

Piemērs savienojuma izveidei un izvēlei no 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("Kļūda, iegūstot lietotāju:", err)
    } else {
        log.Println("Lietotāja vārds:", name)
    }
}

Tādējādi mikroserviss izmanto standarta bibliotēkas un vadītājus, lai sadarboties ar datu bāzi.