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:
- Establecer conexión con la base de datos usando un paquete, por ejemplo,
database/sqly el controlador correspondiente (por ejemplo,pqpara PostgreSQL). - Ejecutar consultas SQL para insertar, actualizar, eliminar o seleccionar datos.
- 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.