Skip to content
Santekno.com | Level Up Your Engineering Skills
ID
📖 0%
Memahami dan Menggunakan GORM sebagai ORM di Golang
News Go

Memahami dan Menggunakan GORM sebagai ORM di Golang

18 July 2024 · 3 menit baca · Ihsan Arif

GORM adalah salah satu toolkit ORM (Object-Relational Mapping) yang populer digunakan dalam pengembangan aplikasi dengan bahasa pemrograman Golang.

GORM adalah salah satu toolkit ORM (Object-Relational Mapping) yang populer digunakan dalam pengembangan aplikasi dengan bahasa pemrograman Golang. ORM memungkinkan pengembang untuk berinteraksi dengan basis data menggunakan objek yang dipetakan ke tabel-tabel dalam database, mengabstraksi kueri SQL secara langsung. Artikel ini akan membahas secara mendalam tentang GORM, mulai dari konsep dasarnya hingga implementasi praktis dalam pengembangan aplikasi Golang.

1. Apa itu GORM?

GORM merupakan sebuah library ORM untuk Golang yang sangat powerful dan mudah digunakan. GORM memungkinkan pengembang untuk melakukan operasi-operasi basis data tanpa menuliskan kueri SQL secara langsung, mengurangi jumlah kode yang perlu ditulis dan meningkatkan produktivitas.

2. Mengapa Menggunakan GORM?

Beberapa alasan utama untuk menggunakan GORM dalam pengembangan aplikasi Golang adalah:

  • Sederhana dan Mudah Digunakan: GORM menyediakan API yang intuitif untuk berinteraksi dengan basis data, membuatnya mudah dipelajari dan digunakan bahkan oleh pengembang yang relatif baru.
  • Cross-platform: Mendukung berbagai jenis basis data seperti MySQL, PostgreSQL, SQLite, dan SQL Server, serta dapat digunakan di berbagai platform.
  • Fitur-Fitur Lengkap: GORM dilengkapi dengan fitur-fitur seperti CRUD operations, pengaturan relasi antar-tabel, validasi data, preloading, dan lain-lain yang memudahkan pengembangan aplikasi.
  • Dukungan Active Record: Model yang dibuat dengan GORM mengikuti pola Active Record, yang memungkinkan manipulasi data dengan cara yang natural dan efisien.

3. Instalasi GORM

Langkah awal sebelum menggunakan GORM adalah menginstal library ini ke dalam proyek Golang Anda. Cara paling umum untuk menginstal GORM adalah menggunakan perintah go get:

sh
1go get -u gorm.io/gorm
2go get -u gorm.io/driver/sqlite # contoh untuk SQLite, ganti dengan driver sesuai basis data Anda

4. Penggunaan Dasar GORM

Setelah menginstal, Anda dapat mulai membuat model-model dan melakukan operasi CRUD dengan GORM. Berikut adalah contoh penggunaan dasar:

go
 1package main
 2
 3import (
 4    "gorm.io/driver/sqlite"
 5    "gorm.io/gorm"
 6    "log"
 7)
 8
 9type User struct {
10    gorm.Model
11    Name  string
12    Email string
13}
14
15func main() {
16    // Membuat koneksi ke database SQLite
17    db, err := gorm.Open(sqlite.Open("test.db"), &gorm.Config{})
18    if err != nil {
19        log.Fatalf("Error connecting to database: %v", err)
20    }
21    defer db.Close()
22
23    // Membuat tabel "users" berdasarkan model "User"
24    db.AutoMigrate(&User{})
25
26    // Menambahkan data baru
27    newUser := User{Name: "John Doe", Email: "john.doe@example.com"}
28    db.Create(&newUser)
29
30    // Mengambil data berdasarkan ID
31    var user User
32    db.First(&user, 1) // Mengambil user dengan ID 1
33
34    // Mengupdate data
35    db.Model(&user).Update("Name", "Jane Doe")
36
37    // Menghapus data
38    db.Delete(&user)
39}

5. Fitur-Fitur Lanjutan GORM

GORM juga menyediakan fitur-fitur lanjutan seperti pengaturan relasi antar-tabel, preloading untuk mengoptimalkan kueri basis data, validasi data, dan banyak lagi. Contoh penggunaan relasi antar-tabel dengan GORM:

go
 1type Product struct {
 2    gorm.Model
 3    Code  string
 4    Price uint
 5}
 6
 7type Order struct {
 8    gorm.Model
 9    UserID    uint
10    Products  []Product `gorm:"many2many:order_products;"`
11}
12
13// Membuat tabel-tabel dan relasi antara tabel User, Order, dan Product
14db.AutoMigrate(&User{}, &Order{}, &Product{})

Kesimpulan

GORM merupakan salah satu toolkit ORM yang powerful dan populer dalam ekosistem Golang. Dengan GORM, pengembang dapat dengan mudah berinteraksi dengan basis data tanpa perlu menulis kueri SQL secara langsung, menghemat waktu dan mengurangi kemungkinan kesalahan. Artikel ini telah membahas konsep dasar GORM, instalasi, penggunaan dasar, serta fitur-fitur lanjutannya. Untuk informasi lebih lanjut tentang penggunaan Golang dalam pembuatan web server, Anda dapat melihat tutorial web server Golang . Dengan memahami dan menggunakan GORM dengan baik, Anda dapat meningkatkan efisiensi dan kualitas pengembangan aplikasi Golang Anda.

IH
Ihsan Arif
Backend engineer & penulis di Santekno. Aktif menulis tentang Go, Laravel, dan arsitektur backend modern.
Follow

💬 Komentar