Erstellen Sie eine Funktion, um den Inhalt der Datenbank in Go abzurufen

Ich werde über eine Funktion schreiben, die den gesamten gewünschten Inhalt aus der Datenbank entnimmt. Ich habe schon etwas in der Datenbank

Machen Sie die Variablen der Schnittstelle {} zu Argumenten von Funktionen mit festem Typ Einfache Bedienung von "Mysql" mit "Golang" x "Gorm" [Go + gin + gorm] Versuchen Sie, der Web-App eine Anmeldefunktion hinzuzufügen Von der MySQL-Verbindung in Gehe zu Datenzuordnung zur Struktur Oreore-Konfigurations-API mit Gin und GORM


install


import (
    _ "github.com/go-sql-driver/mysql"//Dies muss von mir selbst hinzugefügt werden
	"github.com/jinzhu/gorm"
)
//Wann nicht
//go get github.com/jinzhu/gorm
//go get github.com/go-sql-driver/mysql

Stellen Sie zunächst eine Verbindung zur Datenbank her

main.go


func openGormDB() *gorm.DB { // localhost
	DBMS := "mysql"
	USER := "user"//MySQL-Benutzername
	PASS := "password"//Passwort
	PROTOCOL := "tcp(localhost:3306)"
	DBNAME := "sample"//Name der Datenbank

	CONNECT := USER + ":" + PASS + "@" + PROTOCOL + "/" + DBNAME + "?charset=utf8&parseTime=True&loc=Local"
	db, err := gorm.Open(DBMS, CONNECT)
	if err != nil {
		panic(err)
	}
	return db
}

Dies ist der Inhalt der Datenbank

main.go


type ShiromiyaChannelInfos struct {
	//ID              uint64
	ChannelID       string
	ChannelName     string
	ViewCount       uint `gorm:"type:int"`
	SubscriberCount uint `gorm:"type:int"`
	VideoCount      uint `gorm:"type:int"`
	CreatedAt       time.Time
}

Funktion, die den Inhalt der Datenbank übernimmt Schreiben Sie für jede Tabelle

Funktion, die den Inhalt der Datenbank übernimmt


//Ich muss eine solche Funktion oft schreiben
func GetDBShiro() []ShiromiyaChannelInfos/*<=①*/ {
	db := openGormDB()
	var shiroInfo []ShiromiyaChannelInfos/*<=①*/
	db.Find(&shiroInfo)/*<=①*/
	db.Close()
	return shiroInfo/*<=①*/

func GetDBHashi() []HashibaChannelInfos/*<=①*/ {
	db := openGormDB()
	var hashiInfo []HashibaChannelInfos/*<=①*/
	db.Find(&hashiInfo)/*<=①*/
	defer db.Close()
	return hashiInfo/*<=①*/
}

Eine Funktion, die eine Verbindung zu einer Datenbank herstellt und den gesamten Inhalt der Zieltabelle abruft Nur der Ort, an dem es anders war als oben Der Rest ist fast der gleiche

Ich muss so etwas oft schreiben (Funktion, die den Inhalt der Datenbank übernimmt), also habe ich es zusammengefasst

main.go


//Dies ist das fertige Produkt
func AllGetDBChannelInfo(chInfo string) (interface{}, error) {
	db := openGormDB()
	defer db.Close()

	switch chInfo {
	case "ShiromiyaChannelInfos":
		var channelInfo []entity.ShiromiyaChannelInfos
		db.Find(&channelInfo)
		return channelInfo, nil
	case "HashibaChannelInfos":
		var channelInfo []entity.HashibaChannelInfos
		db.Find(&channelInfo)
		return channelInfo, nil
	case "ChannelInfos":
		var videoInfo []entity.VideoInfos
		db.Find(&videoInfo)
		return videoInfo, nil
	default:
		return nil, errors.New("Das db_kein Name")
	}
}

Problem: AllGetDB muss AllGetDB später beim Hinzufügen einer Funktion überschreiben

GetDB hat viele Funktionen mit vielen Duplikaten. Sie müssen die Funktion jedoch nicht überschreiben, sondern nur hinzufügen

Recommended Posts

Erstellen Sie eine Funktion, um den Inhalt der Datenbank in Go abzurufen
[Los] Erstellen Sie einen CLI-Befehl, um die Erweiterung des Bildes zu ändern
So ermitteln Sie die Scheitelpunktkoordinaten eines Features in ArcPy
Erstellen Sie einen Befehl, um das Arbeitsprotokoll abzurufen
[Linux] Ein Befehl zum Abrufen einer Liste der in der Vergangenheit ausgeführten Befehle
So erstellen Sie einen Wrapper, der die Signatur der zu umschließenden Funktion beibehält
Erstellen Sie eine Funktion zur Visualisierung / Auswertung des Clustering-Ergebnisses
Erstellen Sie eine Funktion in Python
So ermitteln Sie die Anzahl der Stellen in Python
Versuchen Sie, den Inhalt von Word mit Golang zu erhalten
Erstellen Sie einen Filter, um ein Zugriffstoken mit der Graph-API (Flask) zu erhalten.
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
Verschiedene Methoden zum numerischen Erstellen der Umkehrfunktion einer bestimmten Funktion Teil 1 Polynomregression
Versuchen Sie, die Funktionsliste des Python> os-Pakets abzurufen
Holen Sie sich die Anzahl der spezifischen Elemente in der Python-Liste
Ich habe eine Funktion erstellt, um das Modell von DCGAN zu überprüfen
So erhalten Sie den letzten (letzten) Wert in einer Liste in Python
So erhalten Sie eine Liste der integrierten Ausnahmen für Python
Erstellen wir eine Funktion, um die Schaltfläche in Tkinter gedrückt zu halten
So verbinden Sie den Inhalt der Liste mit einer Zeichenfolge
Ruft den Wert eines bestimmten Schlüssels bis zum angegebenen Index der Wörterbuchliste in Python ab
[OCI] Python-Skript zum Abrufen der IP-Adresse einer Recheninstanz in Cloud Shell
Eine Geschichte, nach der ich süchtig war, als ich in Go nil als Funktionsargument angab
Ich möchte den Namen der ausgeführten Funktion / Methode erhalten
Ich habe versucht, mit Pandas eine Pferderenn-Datenbank zu erstellen
So bestimmen Sie die Existenz eines Selenelements in Python
Ich habe versucht, den Index der Liste mithilfe der Aufzählungsfunktion abzurufen
So erhalten Sie alle möglichen Werte in einem regulären Ausdruck
So überprüfen Sie die Speichergröße einer Variablen in Python
Geben Sie den Inhalt von ~ .xlsx im Ordner mit Python in HTML aus
So überprüfen Sie die Speichergröße eines Wörterbuchs in Python
[TensorFlow 2] So überprüfen Sie den Inhalt von Tensor im Diagrammmodus
Eine Funktion, die die Verarbeitungszeit einer Methode in Python misst
[Python3] Definition eines Dekorators, der die Ausführungszeit einer Funktion misst
Wie erstelle ich eine große Menge an Testdaten in MySQL? ??
[Python] Eine einfache Funktion zum Ermitteln der Mittelkoordinaten eines Kreises
[Python] Ein Programm, das den Inhalt der Liste nach links dreht
Holen Sie sich die Anzahl der Leser von Artikeln über Mendeley in Python
Wie bekomme ich Stacktrace in Python?
Holen Sie sich den Dateinamen des Verzeichnisses (glob)
Python VBA, um mit Selenium die gesamte WEB-Seite zu erfassen
Klicken Sie auf die Selenium-Links, um die Elemente der einzelnen Seiten abzurufen
[Einführung in Python] So sortieren Sie den Inhalt einer Liste effizient mit Listensortierung
So vergleichen Sie, ob der Inhalt der Objekte in scipy.sparse.csr_matrix identisch ist
Ich möchte eine Liste in der Reihenfolge anderer Listen sortieren
Es wurde eine Funktion hinzugefügt, um gewünschte Verschiebungen in der Django-Verschiebungstabelle zu registrieren
Holen Sie sich zu jeder Tageszeit eine Datums- / Uhrzeitinstanz in Python
Ich habe ein Programm erstellt, um die Größe einer Datei mit Python zu überprüfen
[Python] [Word] [python-docx] Versuchen Sie, mit python-docx eine Vorlage für einen Wortsatz in Python zu erstellen
Ich habe versucht, den Höhenwert von DTM in einem Diagramm anzuzeigen
Python: Ich möchte die Verarbeitungszeit einer Funktion genau messen
Ich habe eine Funktion erstellt, um die Bewegung eines zweidimensionalen Arrays (Python) zu sehen.
Die Geschichte, wie ein Geschäft BOT (AI LINE BOT) nach Go To EAT in der Präfektur Chiba durchsucht (1)
Kopieren und Einfügen des Inhalts eines Blattes im JSON-Format mit einer Google-Tabelle (mithilfe von Google Colab)