青训营大项目心得二 | 青训营笔记

46 阅读3分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 7 天

今天主要学习了grom框架,这里分享一些自己的心得。

Gorm是一个Go语言的对象关系映射库,它能够帮助我们简化数据库操作,简化代码编写。

首先,我们需要在项目中导入gorm的包,在main函数中连接数据库。连接数据库的方式有很多种,但是我们通常使用gorm.Open()函数来连接数据库。

接下来,我们可以使用gorm的AutoMigrate()函数来自动迁移数据库表,这样我们就不需要手动编写建表语句了。

在数据库连接和表迁移之后,我们就可以使用gorm来操作数据库了。gorm提供了很多CRUD方法,例如Create()、Save()、First()、Find()、Delete()等。我们可以使用这些方法来插入、查询、更新和删除数据。

除了基本的CRUD操作之外,gorm还提供了很多其他高级功能,例如关联查询、预加载、事务等。关联查询可以帮助我们在一次查询中获取多张表的数据,预加载可以减少数据库的查询次数,事务可以保证数据的完整性和一致性。

在使用gorm时,我们需要注意几点: gorm使用结构体来描述数据库表,我们需要为每张表编写一个对应的结构体,并使用gorm的tag来描述表字段的属性。

在使用gorm进行数据库操作时,我们需要注意避免使用全局变量。gorm的DB实例是线程不安全的,如果在多个goroutine中使用同一个DB实例可能会导致数据不一致。

使用gorm进行查询时,我们需要注意避免使用号。gorm会自动把替换为所有字段,如果表中有很多字段,查询时会返回很多无用的数据。

在使用gorm进行数据库操作时,我们需要注意避免使用字符串拼接的方式来构建SQL语句。这样会使得代码难以维护,并且容易出现SQL注入漏洞。

总的来说,Gorm是一个非常优秀的Go语言的对象关系映射库,它能够帮助我们简化数据库操作,简化代码编写。通过学习和使用Gorm,我们能够更加高效和简单地编写数据库相关的代码。

  1. 安装

使用go mod进行安装

Copy code
go get -u gorm.io/gorm
  1. 连接数据库

首先需要连接数据库,可以使用如下代码连接:

Copy code
db, err := gorm.Open("mysql", "user:password@/dbname?charset=utf8&parseTime=True&loc=Local")
  1. 定义模型

定义模型的结构体时,需要使用gorm的tag来标记对应的数据表和字段,如下:

Copy code
type User struct {
  gorm.Model
  Name string `gorm:"size:255"`
  Age  int
}
  1. 创建表

使用AutoMigrate()方法可以创建表,如下:

Copy code
db.AutoMigrate(&User{})
  1. 插入数据

使用Create()方法可以插入数据,如下:

Copy code
db.Create(&User{Name: "John", Age: 20})
  1. 查询数据

使用Find()方法可以查询数据,如下:

Copy code
var user User
db.Find(&user, 1)
  1. 更新数据

使用Save()方法可以更新数据,如下:

Copy code
user.Name = "James"
db.Save(&user)
  1. 删除数据

使用Delete()方法可以删除数据,如下:

Copy code
db.Delete(&user)