golang : gorm + gin实现restful 接口
gorm操作数据库
golang可以使用gorm工具对数据库进行操作,实现对数据的一系列操作.
gorm的中文文档如下:
https://jasperxu.github.io/gorm-zh/
主要实现的功能如下:
全功能ORM(几乎)
关联(包含一个,包含多个,属于,多对多,多种包含)
Callbacks(创建/保存/更新/删除/查找之前/之后)
预加载(急加载)
事务
复合主键
SQL Builder
自动迁移
日志
可扩展,编写基于GORM回调的插件
每个功能都有测试
开发人员友好
上述功能可以满足我们的日常开发需求.
安装gorm
可以使用go get的方式直接安装
go get -u github.com/jinzhu/gorm
连接mysql 并创建数据表
连接mysql数据库
var db *gorm.DB
var err error
func main() {
db, err = gorm.Open("mysql", "用户名:密码@/go_test?charset=utf8&parseTime=True&loc=Local")
if err != nil {
panic(err)
}
defer db.Close()
}
创建数据表
type User struct {
gorm.Model
Birthday time.Time
Age int
Name string `gorm:"size:255"` // string默认长度为255, 使用这种tag重设。
Num int `gorm:"AUTO_INCREMENT"` // 自增
Sex string `gorm:"size:"`
CreditCard CreditCard // One-To-One (拥有一个 - CreditCard表的UserID作外键)
Emails []Email // One-To-Many (拥有多个 - Email表的UserID作外键)
BillingAd