Heim >Backend-Entwicklung >Golang >Golang SQLX fängt Fehler ab

Golang SQLX fängt Fehler ab

(*-*)浩
(*-*)浩Original
2019-12-14 11:57:192814Durchsuche

Golang SQLX fängt Fehler ab

sqlxDie Verwendung dieser Drittanbieter-Bibliothek macht in der Tat viel mehr Spaß. Hier sind die Lern- und Nutzungserfahrungen

Installation:

Sie können den Befehl verwenden (Empfohlenes Lernen: GO )

go get github.com/jmoiron/sqlx

Einführung:

Die allgemeine Idee ist, dass SQLX eine Erweiterung der Standarddatenbank/SQL von Golang ist. Die Schnittstelle, die SQLX verwendet, unterscheidet sich nicht von der ursprünglichen Schnittstellenmethode, weist jedoch die folgenden Erweiterungen auf:

1 gemappt wie struct (eingebettete Struktur wird auch unterstützt), Map und Slices <--Das ist genau der Effekt, den ich vorher wollte

2 Unterstützt die Verwendung benannter Parameter in vorbereiteten Anweisungen und fügt dem viele Erweiterungen hinzu Integriertes Datenbank-/SQL-Paket. Vereinfachen Sie das Schreiben von Datenbankbetriebscode.

3. Das Abrufen und Auswählen von Abfrageergebnissen zum Strukturieren/Slicen ist schneller.

sqlx hat außerdem viele Schnittstellen hinzugefügt, um Entwicklern die Verwendung zu erleichtern, worauf später noch eingegangen wird.

package main
 
import (
	"database/sql"
	_"github.com/go-sql-driver/mysql"
	"github.com/jmoiron/sqlx"
	"log"
	"fmt"
)
 
type Student struct {
	Id         int    `db:"id"`
	Name       string `db:"name"`
	Nick       string `db:"nick"`
	Country    string `db:"country"`
	Province   string `db:"province"`
	City       string `db:"city"`
	ImgUrl     string `db:"img_url"`
	Status     int    `db:"status"`
	CreateTime string `db:"create_time"`
}
 
func main()  {
	dns := fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8", dbuser, dbpwd, dbhost, dbname)
	db, err := sqlx.Connect("mysql", dns)
	if err != nil {
        log.Fatalln(err)
	}
	defer db.Close()
 
	tx := db.MustBegin()
	tx.MustExec(`INSERT INTO student VALUES (&#39;1&#39;, &#39;Jack&#39;, &#39;Jack&#39;, &#39;England&#39;, &#39;&#39;, &#39;&#39;, &#39;http://img2.imgtn.bdimg.com/it/u=3588772980,2454248748&fm=27&gp=0.jpg&#39;, &#39;1&#39;, &#39;2018-06-26 17:08:35&#39;);`)
	tx.MustExec(`INSERT INTO student VALUES (&#39;2&#39;, &#39;Emily&#39;, &#39;Emily&#39;, &#39;England&#39;, &#39;&#39;, &#39;&#39;, &#39;http://img2.imgtn.bdimg.com/it/u=3588772980,2454248748&fm=27&gp=0.jpg&#39;, &#39;2&#39;, null);`)
	err = tx.Commit()
	if err != nil {
		log.Fatalln(err)
	}
 
}

Das obige ist der detaillierte Inhalt vonGolang SQLX fängt Fehler ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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