使用GORM操作数据库

什么是GORM? GORM 是一个 Go 编程语言中的 ORM(对象关系映射)库,全名为 “Go Object Relational Mapping”。ORM 是一种编程技术,旨在将数据库中的数据与编程语言中的对象进行映射,从而使开发者能够使用面向对象的方式来操作数据库,而不需要直接编写 SQL 查询语句。 GORM 为 Go 语言开发者提供了一个便捷的方式来操作数据库,支持多种数据库系统,包括 MySQL、PostgreSQL、SQLite 等。它提供了许多功能,如数据库连接管理、模型定义、查询构建、事务管理、关联关系映射等。 以下是一些 GORM 提供的功能和特点: 模型定义简单:你可以定义 Go 结构体来映射数据库表,然后使用 GORM 来处理与数据库的交互。 自动迁移:GORM 可以自动根据模型定义来创建、修改和删除数据库表结构。 查询构建:你可以使用链式方法构建复杂的查询语句,进行数据的检索、排序、过滤等操作。 事务管理:GORM 支持事务,你可以在代码中使用事务来确保数据库操作的原子性。 关联关系:GORM 支持定义和处理表之间的关联关系,如一对一、一对多、多对多等。 钩子函数:GORM 允许你在模型的生命周期中定义钩子函数,以便在不同的操作发生时执行特定的逻辑。 使用GORM对数据库进行增删查改 数据库的设计 使用mysql作为数据库,新建一个表user,其中最主要的列是Username和Email; 因为gorm默认使用id为主键,所以我们也在表user中新建一列id; 另外为了配合grom.Model的使用表中另外新增created_at,updated_at,deleted_at三列。 注意,主键id记得要设置自动递增。 我们可以先使用navicate的随机数据生成少量数据。 连接数据库 使用 GORM 建立数据库连接,你需要提供 MySQL 数据库的连接信息。这包括数据库的用户名、密码、主机名、端口号和数据库名称。 dsn := "username:password@tcp(hostname:port)/dbname?charset=utf8mb4&parseTime=True&loc=Local" db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{}) if err != nil { panic("Failed to connect to the database") } 确保将 username、password、hostname、port 和 dbname 替换为自己的 MySQL 数据库连接信息。...

August 25, 2023 · 1 min · 126 words · sirius1y