如何使用 go 框架集成数据库?使用 xorm 连接到 mysql,创建数据表并插入用户。使用 gorm 连接到 mysql,自动创建数据表并插入用户。
如何使用 Go 框架轻松集成数据库
简介
数据库集成是 Go 应用程序中常见的任务。使用合适的框架,可以简化此过程,减少样板化代码量并提高生产力。本文将介绍如何使用两个流行的 Go 框架(xorm 和 gorm)集成常见的数据库(MySQL 和 PostgreSQL)。
立即学习“go语言免费学习笔记(深入)”;
案例 1:使用 xorm
操作数据库
package main
import (
"database/sql"
"fmt"
"time"
"github.com/go-xorm/xorm"
)
type User struct {
Id int64 `xorm:"pk autoincr"`
Name string `xorm:"varchar(255) not null"`
CreatedAt time.Time `xorm:"created"`
}
func main() {
engine, err := xorm.NewEngine("mysql", "root:password@tcp(localhost:3306)/test")
if err != nil {
panic(err)
}
if err = engine.Sync2(new(User)); err != nil {
panic(err)
}
user := &User{Name: "John"}
if _, err = engine.Insert(user); err != nil {
panic(err)
}
fmt.Println(user.Id)
}
案例 2:使用 gorm
操作数据库
package main
import (
"fmt"
"time"
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/mysql"
)
type User struct {
ID uint `gorm:"primary_key"`
Name string `gorm:"size:255"`
CreatedAt time.Time `gorm:"type:datetime not null"`
}
func main() {
db, err := gorm.Open("mysql", "root:password@tcp(localhost:3306)/test")
if err != nil {
panic(err)
}
if err = db.AutoMigrate(&User{}); err != nil {
panic(err)
}
user := &User{Name: "Jane"}
if err = db.Create(user).Error; err != nil {
panic(err)
}
fmt.Println(user.ID)
}