Sobes.tech
Junior — Middle

Vai ir īstenoti Object-Relational Mapping (ORM) risinājumi Go valodai?

sobes.tech AI

Atbilde no AI

Jā, ir vairākas populāras ORM bibliotēkas Go valodai, kas atvieglo darbu ar datu bāzēm, nodrošinot abstrakciju pār SQL vaicājumiem. Starp tām:

  • GORM — viena no populārākajām ORM Go, atbalsta vairākas datu bāzes, migrācijas, saistības utt.
  • Ent — mūsdienīga ORM ar koda ģenerēšanu un ērtu API.
  • XORM — vienkārša un viegla ORM ar atbalstu galvenajām funkcijām.

GORM izmantošanas piemērs:

import (
    "gorm.io/driver/sqlite"
    "gorm.io/gorm"
)

type User struct {
    ID   uint
    Name string
}

func main() {
    db, err := gorm.Open(sqlite.Open("test.db"), &gorm.Config{})
    if err != nil {
        panic("kļūda, savienojoties ar datu bāzi")
    }

    // automātiska migrācija
    db.AutoMigrate(&User{})

    // ieraksta izveide
    db.Create(&User{Name: "Alice"})

    // ieraksta lasīšana
    var user User
    db.First(&user, 1)
}

ORM izmantošana ļauj rakstīt tīrāku un uzturamu kodu, īpaši lielos projektos.