Gin中记录Gorm数据库表⽣成-查询使⽤全局封装common.DB
⼀、全局封装初始化数据库 common/databse.go
package common
import ( \"fmt\"
\"gopkg.in/ini.v1\"
\"gorm.io/driver/mysql\" \"gorm.io/gorm\" \"os\"
\"supplierQuerySystemAPICode/model\")
//gorm初始化数据库
//全局使⽤,定义成共有的var DB *gorm.DBvar err error
func init() {
//读取.ini⾥⾯的数据库配置
config, err := ini.Load(\"./config/app.ini\") if err != nil { //失败
fmt.Printf(\"Fail to read file: %v\ os.Exit(1) }
ip := config.Section(\"mysql\").Key(\"ip\").String() port := config.Section(\"mysql\").Key(\"port\").String() user := config.Section(\"mysql\").Key(\"user\").String()
password := config.Section(\"mysql\").Key(\"password\").String() database := config.Section(\"mysql\").Key(\"database\").String()
fmt.Println(\"App Mode:\ fmt.Println(\"App Mode:\
//dsn := \"gin:gin@tcp(***.***.91.**:3306)/gin?charset=utf8mb4&parseTime=True&loc=Local\" dsn := fmt.Sprintf(\"%v:%v@tcp(%v:%v)/%v?charset=utf8mb4&parseTime=True&loc=Local\ user,
password, ip, port,
database)
DB, err = gorm.Open(mysql.Open(dsn), &gorm.Config{ QueryFields: true, //打印sql
SkipDefaultTransaction: true, //禁⽤mysql事务 })
// DB.Debug() if err != nil { fmt.Println(err)
}
//⾃动创建数据表User
DB.AutoMigrate(&model.User{})}
配置⽂件 config/app.ini
app_name = 成强
[mysql]
ip = ***.229.***.20port = 3306user = ***password = gindatabase = ***[redis]
ip = 127.0.0.1port = 6379
⼆、定义要⽣成的数据库字段-结构体 :model/user.go
package modelimport \"gorm.io/gorm\"
//通过迁移migrate⽣成的数据库表 -字段 限制type User struct { gorm.Model
Name string `gorm:\"type:varchar(20);not null\"` Telephone string `gorm:\"varchar(11);not null;unique\"` Password string `gorm:\"size:255;not null\"`}
四、迁移⽣成数据库字段(写在common/database.go)尾部
//⾃动创建数据表User
DB.AutoMigrate(&model.User{})
三、使⽤封装好的common.DB进⾏查询操作
var user model.User
common.DB.Where(\"telephone = ?\ if user.ID != 0 { return true }
return false
因篇幅问题不能全部显示,请点此查看更多更全内容