Sobes.tech
Junior — Middle

Как микросервисът взаимодейства с базата данни за съхранение и извличане на данни?

sobes.tech AI

Отговор от AI

Микросервиз в Go взаимодейства с базата данни чрез драйвери или ORM библиотеки, които реализират интерфейс за свързване, изпълнение на заявки и обработка на резултатите.

Основни стъпки:

  1. Установяване на връзка с базата данни с помощта на пакет, например database/sql и съответния драйвер (например pq за PostgreSQL).
  2. Изпълнение на SQL заявки за вмъкване, актуализиране, изтриване или избор на данни.
  3. Обработка на резултатите от заявките и преобразуването им в необходимите структури от данни.

Пример за свързване и избор от 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("Грешка при извличане на потребител:", err)
    } else {
        log.Println("Име на потребителя:", name)
    }
}

По този начин, микросервисът използва стандартни библиотеки и драйвери за взаимодействие с базата данни.