Golang-Hinzufügen, Löschen, Ändern und Abfragen

WBOY
Freigeben: 2023-05-15 09:50:06
Original
694 Leute haben es durchsucht

Golang ist eine effiziente Programmiersprache, die in der Netzwerkprogrammierung, Systemprogrammierung, Datenverarbeitung und anderen Bereichen weit verbreitet ist. In Golang ist die Implementierung von CRUD-Operationen eine sehr häufige Aufgabe. In diesem Artikel wird erläutert, wie Sie mit Golang CRUD-Operationen implementieren.

1. Datenbankverbindung

In Golang werden normalerweise Bibliotheken von Drittanbietern verwendet, um eine Verbindung zur Datenbank herzustellen. Die am häufigsten verwendeten sind Gorm und SQLX. In diesem Artikel wird Gorm verwendet.

Zuerst müssen Sie die Gorm-Bibliothek installieren:

go get -u github.com/jinzhu/gorm

Dann führen Sie die Gorm-Bibliothek in den Code ein:

import (
  "github.com/jinzhu/gorm"
  _ "github.com/jinzhu/gorm/dialects/mysql"
  )
Nach dem Login kopieren

Dann stellen Sie eine Verbindung zur Datenbank her:

db, err := gorm.Open("mysql", "root:password@tcp(127.0.0.1:3306)/testdb?charset=utf8mb4&parseTime=True&loc=Local")
defer db.Close()
Nach dem Login kopieren

Unter diesen steht root für den Benutzernamen, Passwort für den Passwort, TCP (127.0.0.1: 3306) repräsentiert die IP-Adresse und Portnummer der Verbindung und testdb repräsentiert den Namen der Datenbank, mit der eine Verbindung hergestellt werden soll. charset stellt den Zeichensatz dar, parseTime gibt an, ob Zeittypfelder analysiert werden sollen, und loc stellt die Zeitzone dar.

2. Daten hinzufügen

gorm bietet zwei Möglichkeiten zum Hinzufügen von Daten, nämlich Erstellen und Speichern, die beide mithilfe von Strukturen bedient werden können.

// 使用create方式
db.Create(&User{Name: "Alice", Age: 18})

// 使用save方式
user := &User{Name: "Bob", Age: 20}
db.Save(user)
Nach dem Login kopieren

3. Daten abfragen

gorm bietet eine Vielzahl von Abfrageanweisungen, z. B. Suchen, Zuerst, Letzter, Wo usw. Durch diese Methoden kann die Abfragefunktion sehr bequem realisiert werden.

// 查询全部数据
var users []User
db.Find(&users)

// 查询单条数据
var user User
db.First(&user, "id = ?", 1)

// 条件查询
var users []User
db.Where("age > ?", 18).Find(&users)

// 分页查询
var users []User
db.Where("age > ?", 18).Offset(0).Limit(10).Find(&users)
Nach dem Login kopieren

Dabei gibt Offset an, von welchem ​​Datensatz aus mit der Abfrage begonnen werden soll, und Limit gibt an, wie viele Datensätze abgefragt werden sollen.

4. Daten aktualisieren

gorm bietet zwei Möglichkeiten zum Aktualisieren von Daten, nämlich Speichern und Aktualisieren. Der Unterschied zwischen den beiden Methoden besteht darin, dass beim Speichern die gesamte Struktur aktualisiert wird, während beim Aktualisieren nur bestimmte Felder aktualisiert werden.

// 使用save方式
user := &User{Name: "Alice", Age: 18}
db.Save(user)

// 使用update方式
db.Model(&User{}).Where("id = ?", 1).Update("name", "Bob")
Nach dem Login kopieren

5. Daten löschen

gorm stellt die Methode „Delete“ für Löschvorgänge bereit und unterstützt die Übergabe von Strukturen oder bedingten Ausdrücken.

// 删除指定ID的数据
db.Delete(&User{}, 1)

// 根据条件删除数据
db.Where("age < ?", 18).Delete(&User{})
Nach dem Login kopieren

6. Zusammenfassung

Durch die Einführung dieses Artikels können die Leser meiner Meinung nach die grundlegende Verwendung von Gorm leicht beherrschen. In der tatsächlichen Entwicklung müssen entsprechend den Geschäftsanforderungen entsprechende Verbesserungen und Optimierungen vorgenommen werden, um den Code effizienter und einfacher zu warten.

Das obige ist der detaillierte Inhalt vonGolang-Hinzufügen, Löschen, Ändern und Abfragen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage