Posts tagged "Go":

gorm 基本使用

:Go:
<2019-09-10>

连接数据库

var db *gorm.DB
func initdb() *gorm.DB {
        db, err := gorm.Open("mysql", "user:pwd@network(addr:port)/dbname?charset=utf8&parseTime=True&loc=Local")
        if err == nil {
                db.SingularTable(true) //取消复数形式
                return db
        } else {
                panic(err)
                return nil
        }
}
func main() {
        db = initdb()
        defer db.Close()
}

debug or error

调试单个操作,显示此操作的详细日志

db.Debug().Create(&user)

错误处理

if err := db.Create(&user).Error; err != nil {
        fmt.Println(err)
}

curd

func Createdb() {
        user := User{Username: "bob", Password: "12112121"}
        db.Create(&user)
}
func Deletedb() {
        user := User{Username: "aaa", Password: "asdsad"}
        db.Delete(&user)
}
func Updatedb() {
        db.Model(&User{}).Where("id = ?", 5).Update("username", "aaaaa")
}
func Querydb() {
        user := User{}
        db.First(&user).Where("id = ?", 5)
        fmt.Println(user)
}

CGO_ENABLED=0 go build -a -ldflags '-extldflags "-static"' .
Other posts