Rumah pembangunan bahagian belakang Golang Contoh terperinci operasi pertanyaan Golang GORM

Contoh terperinci operasi pertanyaan Golang GORM

Apr 03, 2023 am 11:50 AM

Golang ialah bahasa pengaturcaraan yang agak baharu Kelahirannya menjadikan pembangunan aplikasi web lebih mudah. Kelebihan Golang terletak pada mekanisme konkurensi dan sintaks bahasa yang ringkas. GORM ialah perpustakaan ORM (Object Relational Mapping) di Golang Ia serupa dengan ORM dalam bahasa lain dan boleh melaksanakan operasi pangkalan data berorientasikan objek, menjadikan penambahan pangkalan data, pemadaman, pengubahsuaian dan pertanyaan lebih mudah dan jelas. Dalam artikel ini, kami akan memperkenalkan operasi pertanyaan Golang GORM terutamanya.

1. Kata Pengantar

Apabila menggunakan Golang GORM untuk operasi pertanyaan, kita perlu mengimport perpustakaan GORM terlebih dahulu, dan kemudian menetapkan maklumat pangkalan data yang sepadan, contohnya:

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

dsn := "root:password@tcp(127.0.0.1:3306)/database?charset=utf8mb4&parseTime=True&loc=Local"
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
Salin selepas log masuk

Di sini Kami menggunakan pangkalan data mysql dan menetapkan maklumat sambungan pangkalan data yang sepadan. Selepas mengimport perpustakaan GORM, kami perlu mentakrifkan struktur data yang sepadan, contohnya:

type User struct {
  ID        int
  Name      string
  Age       int
  Email     string
  CreatedAt time.Time
}
Salin selepas log masuk

Di sini kami mentakrifkan struktur Pengguna, termasuk medan ID, Nama, Umur, E-mel dan CreatedAt, di mana ID Adalah medan kunci utama auto-increment.

2. Kaedah pertanyaan

  1. Cari satu rekod

Dalam Golang GORM, kita boleh menggunakan kaedah Cari untuk menanyakan rekod, contohnya:

var user User
db.Find(&user, 1) // 查询主键为1的记录
Salin selepas log masuk

Di sini kami mentakrifkan pembolehubah pengguna dan menggunakan kaedah Cari untuk menanyakan rekod dengan kunci utama 1. Data yang ditanya akan disimpan dalam pembolehubah pengguna.

  1. Cari berbilang rekod

Dalam Golang GORM, kami boleh menggunakan kaedah Cari untuk menanyakan berbilang rekod, contohnya:

var users []User
db.Find(&users) // 查询所有的记录
Salin selepas log masuk

Di sini kami Tentukan pembolehubah hirisan pengguna dan gunakan kaedah Cari untuk menanyakan semua rekod. Semua data yang ditanya akan disimpan dalam tatasusunan pengguna.

  1. Pertanyaan bersyarat

Dalam Golang GORM, kita boleh menggunakan kaedah Where untuk melaksanakan pertanyaan bersyarat, contohnya:

var users []User
db.Where("age > ?", 18).Find(&users) // 查询年龄大于18的所有记录
Salin selepas log masuk

Di sini kita gunakan kaedah Where Tanya semua rekod dengan umur lebih daripada 18 tahun dan simpannya dalam pembolehubah hirisan pengguna.

  1. Pertanyaan kabur

Dalam Golang GORM, kita boleh menggunakan kaedah Suka untuk melaksanakan pertanyaan kabur, contohnya:

var users []User
db.Where("name LIKE ?", "%john%").Find(&users) // 查询名字中包含“john”的记录
Salin selepas log masuk

Di sini kita gunakan kaedah Where Pertanyaan kabur telah dilakukan untuk menanyakan rekod yang namanya mengandungi "john" dan disimpan dalam pembolehubah hirisan pengguna.

  1. IN pertanyaan keadaan

Dalam Golang GORM, kita boleh menggunakan kaedah In untuk melaksanakan IN pertanyaan keadaan, contohnya:

var users []User
db.Where("name IN ?", []string{"john", "mary", "bob"}).Find(&users) // 查询名字为john、mary、bob的所有记录
Salin selepas log masuk

Di sini kita lulus Kaedah Where melakukan pertanyaan keadaan IN, menanyakan semua rekod bernama john, mary, dan bob, dan menyimpannya dalam pembolehubah slice pengguna.

  1. ANTARA pertanyaan syarat

Dalam Golang GORM, kita boleh menggunakan kaedah Between untuk melaksanakan BETWEEN syarat pertanyaan, contohnya:

var users []User
db.Where("age BETWEEN ? AND ?", 18, 30).Find(&users) // 查询年龄在18到30岁之间的所有记录
Salin selepas log masuk

Di sini kami lulus Kaedah Where melakukan pertanyaan keadaan ANTARA, menanyakan semua rekod antara umur 18 dan 30 tahun, dan menyimpannya dalam pembolehubah hirisan pengguna.

3. Ringkasan

Di atas ialah kaedah operasi pertanyaan Golang GORM. Melalui operasi pertanyaan Golang GORM, kami boleh melaksanakan operasi ORM berdasarkan Golang dengan mudah, menjadikan penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data lebih mudah dan jelas. Sudah tentu, dalam aplikasi praktikal, kita masih perlu menerapkannya secara fleksibel mengikut keperluan perniagaan tertentu.

Atas ialah kandungan terperinci Contoh terperinci operasi pertanyaan Golang GORM. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana anda menggunakan alat PPROF untuk menganalisis prestasi GO? Bagaimana anda menggunakan alat PPROF untuk menganalisis prestasi GO? Mar 21, 2025 pm 06:37 PM

Artikel ini menerangkan cara menggunakan alat PPROF untuk menganalisis prestasi GO, termasuk membolehkan profil, mengumpul data, dan mengenal pasti kesesakan biasa seperti CPU dan isu memori.

Bagaimana anda menulis ujian unit di GO? Bagaimana anda menulis ujian unit di GO? Mar 21, 2025 pm 06:34 PM

Artikel ini membincangkan ujian unit menulis di GO, meliputi amalan terbaik, teknik mengejek, dan alat untuk pengurusan ujian yang cekap.

Bagaimana saya menulis objek dan stub untuk ujian di GO? Bagaimana saya menulis objek dan stub untuk ujian di GO? Mar 10, 2025 pm 05:38 PM

Artikel ini menunjukkan penciptaan dan stub di GO untuk ujian unit. Ia menekankan penggunaan antara muka, menyediakan contoh pelaksanaan mengejek, dan membincangkan amalan terbaik seperti menjaga mocks fokus dan menggunakan perpustakaan penegasan. Articl

Bagaimana saya boleh menentukan kekangan jenis tersuai untuk generik di GO? Bagaimana saya boleh menentukan kekangan jenis tersuai untuk generik di GO? Mar 10, 2025 pm 03:20 PM

Artikel ini meneroka kekangan jenis adat Go untuk generik. Ia memperincikan bagaimana antara muka menentukan keperluan jenis minimum untuk fungsi generik, meningkatkan keselamatan jenis dan kebolehgunaan semula kod. Artikel ini juga membincangkan batasan dan amalan terbaik

Terangkan tujuan Pakej Refleksi Go. Bilakah anda akan menggunakan refleksi? Apakah implikasi prestasi? Terangkan tujuan Pakej Refleksi Go. Bilakah anda akan menggunakan refleksi? Apakah implikasi prestasi? Mar 25, 2025 am 11:17 AM

Artikel ini membincangkan pakej GO's Reflect, yang digunakan untuk manipulasi kod runtime, bermanfaat untuk siri, pengaturcaraan generik, dan banyak lagi. Ia memberi amaran tentang kos prestasi seperti pelaksanaan yang lebih perlahan dan penggunaan memori yang lebih tinggi, menasihati penggunaan yang bijak dan terbaik

Bagaimana saya boleh menggunakan alat pengesanan untuk memahami aliran pelaksanaan aplikasi saya? Bagaimana saya boleh menggunakan alat pengesanan untuk memahami aliran pelaksanaan aplikasi saya? Mar 10, 2025 pm 05:36 PM

Artikel ini meneroka menggunakan alat pengesanan untuk menganalisis aliran pelaksanaan aplikasi GO. Ia membincangkan teknik instrumentasi manual dan automatik, membandingkan alat seperti Jaeger, Zipkin, dan OpenTelemetry, dan menonjolkan visualisasi data yang berkesan

Bagaimana anda menggunakan ujian yang didorong oleh jadual di GO? Bagaimana anda menggunakan ujian yang didorong oleh jadual di GO? Mar 21, 2025 pm 06:35 PM

Artikel ini membincangkan menggunakan ujian yang didorong oleh jadual di GO, satu kaedah yang menggunakan jadual kes ujian untuk menguji fungsi dengan pelbagai input dan hasil. Ia menyoroti faedah seperti kebolehbacaan yang lebih baik, penurunan duplikasi, skalabiliti, konsistensi, dan a

Bagaimana anda menentukan kebergantungan dalam fail go.mod anda? Bagaimana anda menentukan kebergantungan dalam fail go.mod anda? Mar 27, 2025 pm 07:14 PM

Artikel ini membincangkan menguruskan kebergantungan modul Go melalui Go.Mod, meliputi spesifikasi, kemas kini, dan resolusi konflik. Ia menekankan amalan terbaik seperti versi semantik dan kemas kini biasa.

See all articles