Sobes.tech
Junior — Middle

Ce instrumente sau biblioteci ai folosit pentru a implementa interacțiunea cu baza de date în proiectele tale?

sobes.tech AI

Răspuns de la AI

În proiectele Go, pentru interacțiunea cu bazele de date, se folosește adesea pachetul standard database/sql, care oferă o interfață generală pentru lucrul cu diferite sisteme de gestionare a bazelor de date (SGBD). Pentru driveri specifici, se utilizează, de exemplu, github.com/lib/pq pentru PostgreSQL sau github.com/go-sql-driver/mysql pentru MySQL.

De asemenea, bibliotecile ORM populare și instrumentele pentru simplificarea lucrului cu bazele de date sunt:

  • GORM — un ORM puternic cu suport pentru migrații, relații și API-uri prietenoase.
  • sqlx — o extensie a database/sql cu metode utile pentru scanare și lucru cu interogări.

Exemplu de utilizare a database/sql cu PostgreSQL:

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

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

    var name string
    err = db.QueryRow("SELECT name FROM users WHERE id=$1", 1).Scan(&name)
    if err != nil {
        panic(err)
    }
    fmt.Println("Numele utilizatorului:", name)
}