Sobes.tech
Junior — Middle

¿Cómo interactúa el microservicio con la base de datos para almacenar y recuperar datos?

sobes.tech AI

Respuesta de la IA

Un microservicio en Go interactúa con la base de datos a través de controladores o bibliotecas ORM que implementan una interfaz para conectarse, ejecutar consultas y procesar resultados.

Pasos principales:

  1. Establecer conexión con la base de datos usando un paquete, por ejemplo, database/sql y el controlador correspondiente (por ejemplo, pq para PostgreSQL).
  2. Ejecutar consultas SQL para insertar, actualizar, eliminar o seleccionar datos.
  3. Procesar los resultados de las consultas y convertirlo en las estructuras de datos necesarias.

Ejemplo de conexión y consulta en 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("Error fetching user:", err)
    } else {
        log.Println("User name:", name)
    }
}

De esta manera, el microservicio utiliza bibliotecas y controladores estándar para interactuar con la base de datos.