go get -u gorm.io/gorm go get -u gorm.io/driver/sqlite
//配置MySQL连接参数 //username := "root" //账号 //password := "123456" //密码 //host := "127.0.0.1" //数据库地址,可以是Ip或者域名 //port := 3306 //数据库端口 //Dbname := "tizi365" //数据库名 //timeout := "10s" //连接超时,10秒 func ConnDB(username,password,host string,port int,Dbname,timeout string)*gorm.DB{ //拼接下dsn参数, dsn格式可以参考上面的语法,这里使用Sprintf动态拼接dsn参数,因为一般数据库连接参数,我们都是保存在配置文件里面,需要从配置文件加载参数,然后拼接dsn。 dsn := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=utf8&parseTime=True&loc=Local&timeout=%s", username, password, host, port, Dbname, timeout) //连接MYSQL, 获得DB类型实例,用于后面的数据库读写操作。 _db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{}) if err != nil { panic("连接数据库失败, error=" + err.Error()) } return _db }
参考:模型定义 | 入门指南 |《GORM 中文文档 v2》| Go 技术论坛 (learnku.com)
type User struct { Group int `gorm:"primarykey"` Location int Level int Phone string Password string } db.AutoMigrate(&User{})
注意:迁移的结构体的字段首字母要大写。
参考:GORM 指南 | 入门指南 |《GORM 中文文档 v2》| Go 技术论坛 (learnku.com)