GORM|青训营笔记

45 阅读2分钟

GORM是一款强大的Go语言(Golang)ORM(对象关系映射)库,用于简化数据库操作。在后端开发中,使用GORM可以让我们更方便地操作数据库,减少手写SQL语句的工作量。以下是关于GORM的一些后端笔记:

  1. 安装GORM

可以通过Go命令行工具或者使用Go dep来安装GORM。例如,使用Go命令行工具安装:

go复制代码
	go get -u github.com/jinzhu/gorm
  1. 创建数据库连接

在使用GORM之前,需要先创建数据库连接。可以使用GORM提供的Open函数来创建数据库连接,例如:

go复制代码
	db, err := gorm.Open("mysql", "user:password@tcp(127.0.0.1:3306)/dbname?charset=utf8&parseTime=True&loc=Local")  

	if err != nil {  

	    panic("failed to connect database")  

	}  

	defer db.Close()

其中,第一个参数是数据库类型,第二个参数是数据库连接字符串。
3. 定义数据结构

在使用GORM之前,需要定义数据结构。可以使用GORM提供的结构体和标签来定义数据结构,例如:

go复制代码
	type User struct {  

	    ID         uint   `gorm:"primary_key"`  

	    Name       string `gorm:"not null;unique"`  

	    Email      string `gorm:"not null;unique"`  

	    Phone      string `gorm:"size:20"`  

	    CreatedAt  time.Time  

	    UpdatedAt  time.Time  

	    DeletedAt  *time.Time  

	}

其中,ID是主键,使用了gorm:"primary_key"标签。NameEmail都使用了unique标签,表示它们是唯一的。Phone使用了size:20标签,表示它的长度为20个字符。CreatedAtUpdatedAtDeletedAt是时间戳字段。
4. 操作数据库

使用GORM可以方便地操作数据库,例如:

  • 查询数据:使用Find方法可以查询符合条件的数据,例如:
go复制代码
	var users []User  

	db.Find(&users) //查询所有用户数据  

	db.Where("name = ?", "Jinzhu").Find(&users) //查询名字为Jinzhu的用户数据
  • 插入数据:使用Create方法可以插入一条数据,例如:
go复制代码
	user := User{Name: "Jinzhu", Email: "jinzhu@example.com"}  

	db.Create(&user) //插入一条用户数据
  • 更新数据:使用Update方法可以更新符合条件的数据,例如:
go复制代码
	db.Where("name = ?", "Jinzhu").Update(User{Name: "Jin Zhu"}) //将名字为Jinzhu的用户的名字改为Jin Zhu