Wie ordne ich den „bit'-Typ von MySQL Go zu: Bool oder benutzerdefinierter Typ?

Linda Hamilton
Freigeben: 2024-11-17 11:07:02
Original
116 Leute haben es durchsucht

How to Map MySQL's 'bit' Type to Go: Bool or Custom Type?

Zuordnung des MySQL-Typs „bit“ zu Go: Grundlegendes zur Auswahl des Go-Typs

In MySQL stellt der Datentyp „bit“ ein einzelnes Bit dar Wert, der häufig zur Angabe eines booleschen Zustands verwendet wird. Wenn Sie Go mit MySQL über ein ORM wie Beego verwenden, ist es wichtig, den geeigneten Go-Typ für die Zuordnung dieses „Bit“-Typs auszuwählen.

Überlegungen zum Datentyp Java vs. Go

Wie bereits erwähnt, verwendet Java für solche Szenarien den Typ „bit(1)“. Allerdings gibt es in Go keinen nativen „Bit“-Typ. Daher müssen wir bestimmen, welcher Go-Typ die „Bit“-Werte angemessen darstellen kann.

Bool oder benutzerdefinierter Typ?

Zunächst mag es logisch erscheinen, den zu verwenden Gehen Sie vom Typ „bool“, entsprechend der booleschen Natur der „Bit“-Daten. Die Verwendung von „bool“ kann jedoch zu Konvertierungsfehlern bei der Interaktion mit der Datenbank führen.

Benutzerdefinierte BitBool-Implementierung

Um dieses Problem zu beheben, bietet die Go-Bibliothek „Sqlx“. ein benutzerdefinierter „BitBool“-Typ, der speziell für die Zuordnung der „Bit“-Daten von MySQL entwickelt wurde. Dieser Typ implementiert die Schnittstellen „driver.Valuer“ und „sql.Scanner“ und konvertiert effektiv boolesche Werte in und aus „bit(1)“-Bitfeldern.

Beego ORM-Implementierung

Innerhalb In Ihrer Beego ORM-Struktur können Sie jetzt wie gezeigt den Typ „BitBool“ für das Feld „Gelöscht“ verwenden unten:

type BaseModel struct {
    Id          string           `orm:"pk";form:"id"`
    CreatedTime time.Time        `orm:"auto_now_add;type(datetime)";form:"-"`
    UpdatedTime time.Time        `orm:"auto_now;type(datetime)";form:"-"`
    Deleted     BitBool `form:"-"`
}
Nach dem Login kopieren

Durch die Verwendung des benutzerdefinierten Typs „BitBool“ können Sie die „bit(1)“-Daten effektiv dem Go-Typ „BitBool“ in Ihrem Beego-Projekt zuordnen, ohne die Datenbank ändern zu müssen Schema.

Das obige ist der detaillierte Inhalt vonWie ordne ich den „bit'-Typ von MySQL Go zu: Bool oder benutzerdefinierter Typ?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage