您的当前位置:首页正文

Gin中记录Gorm数据库表生成-查询使用

2022-12-09 来源:易榕旅网
Gin中记录Gorm数据库表⽣成-查询使⽤

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

因篇幅问题不能全部显示,请点此查看更多更全内容