模型定义 模型是标准的结构体,由go的基本数据类型.实现了Scanner和Valuer接口的自定义类型及其指针或别名组成 例如: type User struct { ID uint Name string Email *string Age uint8 Birthday *time.Time MemberNumber sql.NullString // 结构体类型实现了Scanner接口和Valuer接口 ActivatedAt sql.NullTime CreatedAt time.Time
go 是一门非常灵活的语言,既具有静态语言的高性能,又有动态语言的开发速度快的优点,语法也比较简单,下面是通过简单的代码实现了一个简单的增删改查 api 接口 hello world 常规版 新建 demo1.go 并输入以下代码,进入命令行,go run demo1.go ,就可以看到命令行输出 hello world package main import "fmt" func main() { fmt.Println("hello word") } 网络版 使
type User struct{ ID uint `gorm:"primary_key"` Name string Age int Birthday time.Time AddTime time.Time} 连接数据库db, err := gorm.Open("mysql", "用户名:密码@tcp(地址:端口号)/数据库名") if err != nil { panic("连接数据库失败") } 创建表 db.Singul
之前咱们学习过原生的Go连接MYSQL的方法,使用Go自带的"database/sql"数据库连接api,"github.com/go-sql-driver/mysql"MYSQL驱动,通过比较原生的写法去写sql和处理事务.目前开源界也有很多封装好的orm操作框架,帮我们简省一些重复的操作,提高代码可读性.gorm就是这样的一款作品,我们来学习一下gorm的操作流程. 安装 go get -u github.com/jinzhu/gorm 数据库连接 要连接到数据
这个数据库的定义蛮全的,先作个记录. package main import ( "time" "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/mysql" ) type User struct { gorm.Model Birthday time.Time Age int Name string `gorm:"size:255"` // string默认
CRUD通常指数据库的增删改查操作,本文详细介绍了如何使用GORM实现创建.查询.更新和删除操作. CRUD CRUD通常指数据库的增删改查操作,本文详细介绍了如何使用GORM实现创建.查询.更新和删除操作. 创建 创建记录 首先定义模型: type User struct { ID int64 Name string Age int64 } 使用使用NewRecord()查询主键是否存在,主键为空使用Create()创建记录: user := User{Name: "q1mi", A
package main import ( "fmt" "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/sqlite" ) type Product struct { Id int Num int } func main() { db, err := gorm.Open("sqlite3", "/root/test.db") if er