没有合适的资源?快使用搜索试试~ 我知道了~
首页gorm 中文文档(pdf)
gorm 中文文档(pdf)
需积分: 50 789 浏览量
更新于2023-05-29
评论
收藏 399KB PDF 举报
参照 https://github.com/jasperxu/gorm-cn-doc.git 生成的pdf文档。
资源详情
资源评论
资源推荐

1.1
1.2
1.2.1
1.2.2
1.3
1.3.1
1.3.2
1.3.3
1.3.3.1
1.3.3.2
1.3.3.3
1.3.3.4
1.3.3.5
1.3.3.6
1.4
1.4.1
1.4.2
1.4.3
1.4.4
1.4.5
1.4.6
1.5
1.6
1.6.1
1.6.2
1.6.3
1.6.4
1.6.5
1.6.6
1.7
1.7.1
目錄
1.1. 快速开始
1.2. 数据库
1.2.1. 数据库连接
1.2.2. 迁移
1.3. 模型
1.3.1. 模型定义
1.3.2. 约定
1.3.3. 关联
1.3.3.1 属于
1.3.3.2 包含一个
1.3.3.3 包含多个
1.3.3.4 多对多
1.3.3.5 多种包含
1.3.3.6 关联模式
1.4. CRUD:读写数据
1.4.1 创建
1.4.2 查询
1.4.3 预加载
1.4.4 更新
1.4.5 删除\/软删除
1.4.6 关联
1.5. Callbacks
1.6. 高级用法
1.6.1. 错误处理
1.6.2. 事物
1.6.3. SQL构建
1.6.4. 通用数据库接口sql.DB
1.6.5. 复合主键
1.6.6. 日志
1.7. 开发
1.7.1 架构
1

1. GORM 中文文档
1.1. 概述
1.2. 安装
1.3. 升级到V1.0
1.4. 快速开始
1. GORM 中文文档
http://gorm.book.jasperxu.com/
Golang写的,开发人员友好的ORM库。
1.1. 概述
全功能ORM(几乎)
关联(包含一个,包含多个,属于,多对多,多种包含)
Callbacks(创建/保存/更新/删除/查找之前/之后)
预加载(急加载)
事务
复合主键
SQL Builder
自动迁移
日志
可扩展,编写基于GORM回调的插件
每个功能都有测试
开发人员友好
1.2. 安装
go get -u github.com/jinzhu/gorm
1.3. 升级到V1.0
更新日志
1.4. 快速开始
package main
import (
3

"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/sqlite"
)
type Product struct {
gorm.Model
Code string
Price uint
}
func main() {
db, err := gorm.Open("sqlite3", "test.db")
if err != nil {
panic("连接数据库失败")
}
defer db.Close()
// 自动迁移模式
db.AutoMigrate(&Product{})
// 创建
db.Create(&Product{Code: "L1212", Price: 1000})
// 读取
var product Product
db.First(&product, 1) // 查询id为1的product
db.First(&product, "code = ?", "L1212") // 查询code为l1212的product
// 更新 - 更新product的price为2000
db.Model(&product).Update("Price", 2000)
// 删除 - 删除product
db.Delete(&product)
}
Copyright © JasperXu 2017 all right reserved,powered by Gitbook修订时间: 2019-08-07
09:54:57
4

1. 数据库
1.1. 连接数据库
1.1.1. MySQL
1.1.2. PostgreSQL
1.1.3. Sqlite3
1.1.4. 不支持的数据库
1.2. 迁移
1.2.1. 自动迁移
1.2.2. 检查表是否存在
1.2.3. 创建表
1.2.4. 删除表
1.2.5. 修改列
1.2.6. 删除列
1.2.7. 添加外键
1.2.8. 索引
1. 数据库
1.1. 连接数据库
要连接到数据库首先要导入驱动程序。例如
import _ "github.com/go-sql-driver/mysql"
为了方便记住导入路径,GORM包装了一些驱动。
import _ "github.com/jinzhu/gorm/dialects/mysql"
// import _ "github.com/jinzhu/gorm/dialects/postgres"
// import _ "github.com/jinzhu/gorm/dialects/sqlite"
// import _ "github.com/jinzhu/gorm/dialects/mssql"
1.1.1. MySQL
注:为了处理 time.Time ,您需要包括 parseTime 作为参数。 (更多支持的参数)
import (
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/mysql"
)
func main() {
db, err := gorm.Open("mysql", "user:password@/dbname?charset=utf8&parseTime=True&loc=
5
剩余49页未读,继续阅读









安全验证
文档复制为VIP权益,开通VIP直接复制

评论0