Go之Gorm简介及使用案例
- 作者: 五速梦信息网
- 时间: 2026年04月04日 13:41
package main
import (
"fmt"<br/>
_ "github.com/go-sql-driver/mysql"<br/>
"github.com/jinzhu/gorm"<br/>
"os"<br/>
"time"<br/>
)
const (
dbUser string = "test"<br/>
dbPassword string = "ZHOUjian.22"<br/>
dbHost string = "121.36.43.223"<br/>
dbPort int = 3306<br/>
dbName string = "cmdb"<br/>
)
var dsn string = fmt.Sprintf(“%s:%s@tcp(%s:%d)/%s?charset=utf8mb4&loc=Local&parseTime=true”,
dbUser, dbPassword, dbHost, dbPort, dbName)
type User3 struct {
// 会从gorm嵌入一些字段进来<br/>
gorm.Model<br/>
Name string<br/>
Password string<br/>
Birthday time.Time<br/>
Sex bool<br/>
Tel string<br/>
Addr string<br/>
Desc string<br/>
}
type User4 struct {
Id int gorm: "primary_key; auto_increment"
Name string<br/>
Password string<br/>
Birthday time.Time<br/>
Sex bool<br/>
Tel string<br/>
Addr string<br/>
Desc string<br/>
}
func (*User4)TableName() string {
return "user"<br/>
}
//type User4 struct {
// Id int gorm:"primary_key"
// Name string gorm:"type:varchar(32);unique;not null; default:''"
// Password string
// Birthday time.Time gorm:"type:date"
// Sex bool
// Tel string gorm:"column:telephone"
// Addr string
// Desciption string gorm:"type:text"
//}
func main() {
db, err := gorm.Open("mysql", dsn)<br/>
if err != nil {<br/>
fmt.Println(err)<br/>
os.Exit(-1)<br/>
}
// 创建表<br/>
db.AutoMigrate(&User3{})<br/>
db.AutoMigrate(&User4{})<br/>
// fmt.Println(db.CreateTable(&User3{},&User4{}))
//db.Model(&User{}).AddIndex("idx_name_addr", "name", "addr")
db.Close()<br/>
}
- 上一篇: GradientBoost房价预测
- 下一篇: Go在windows下执行命令行指令








