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{})
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 }
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
Dalam Golang GORM, kita boleh menggunakan kaedah Cari untuk menanyakan rekod, contohnya:
var user User db.Find(&user, 1) // 查询主键为1的记录
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.
Dalam Golang GORM, kami boleh menggunakan kaedah Cari untuk menanyakan berbilang rekod, contohnya:
var users []User db.Find(&users) // 查询所有的记录
Di sini kami Tentukan pembolehubah hirisan pengguna dan gunakan kaedah Cari untuk menanyakan semua rekod. Semua data yang ditanya akan disimpan dalam tatasusunan pengguna.
Dalam Golang GORM, kita boleh menggunakan kaedah Where untuk melaksanakan pertanyaan bersyarat, contohnya:
var users []User db.Where("age > ?", 18).Find(&users) // 查询年龄大于18的所有记录
Di sini kita gunakan kaedah Where Tanya semua rekod dengan umur lebih daripada 18 tahun dan simpannya dalam pembolehubah hirisan pengguna.
Dalam Golang GORM, kita boleh menggunakan kaedah Suka untuk melaksanakan pertanyaan kabur, contohnya:
var users []User db.Where("name LIKE ?", "%john%").Find(&users) // 查询名字中包含“john”的记录
Di sini kita gunakan kaedah Where Pertanyaan kabur telah dilakukan untuk menanyakan rekod yang namanya mengandungi "john" dan disimpan dalam pembolehubah hirisan pengguna.
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的所有记录
Di sini kita lulus Kaedah Where melakukan pertanyaan keadaan IN, menanyakan semua rekod bernama john, mary, dan bob, dan menyimpannya dalam pembolehubah slice pengguna.
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岁之间的所有记录
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!