Sobes.tech
Назад к вопросам
Junior — Middle
80

Какие инструменты или библиотеки применяли для реализации взаимодействия с базой данных в своих проектах?

Ответ от нейросети

sobes.tech AI

В проектах на Go для взаимодействия с базами данных часто используют стандартный пакет database/sql, который предоставляет общий интерфейс для работы с разными СУБД. Для конкретных драйверов применяют, например, github.com/lib/pq для PostgreSQL или github.com/go-sql-driver/mysql для MySQL.

Кроме того, популярны ORM-библиотеки и инструменты для упрощения работы с БД:

  • GORM — мощный ORM с поддержкой миграций, связей и удобным API.
  • sqlx — расширение database/sql с удобными методами для сканирования и работы с запросами.

Пример использования database/sql с 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("User name:", name)
}