返回

Go lang 1.18 入门精炼教程:从白丁到鸿儒之数据库操作篇

后端

Go lang 入门教程:从白丁到鸿儒之数据库操作篇

1. Go lang 数据库操作概述

在 Go lang 中,数据库操作主要通过 Gorm 包来实现。Gorm 是一个轻量级、易于使用的 ORM(对象关系映射)框架,它可以帮助我们轻松地将 Go 语言对象映射到数据库表,从而简化数据库操作。

2. Gorm 入门

2.1 安装 Gorm

要使用 Gorm,我们需要先安装它。我们可以使用以下命令安装 Gorm:

go get -u gorm.io/gorm

2.2 创建数据库连接

在使用 Gorm 之前,我们需要先创建数据库连接。我们可以使用以下代码创建一个到 MySQL 数据库的连接:

import (
	"gorm.io/driver/mysql"
	"gorm.io/gorm"
)

var db *gorm.DB

func init() {
	// 创建数据库连接
	dsn := "user:password@tcp(127.0.0.1:3306)/database_name?charset=utf8mb4&parseTime=True&loc=Local"
	var err error
	db, err = gorm.Open(mysql.Open(dsn), &gorm.Config{})
	if err != nil {
		panic(err)
	}
}

2.3 定义数据模型

在使用 Gorm 之前,我们需要先定义数据模型。数据模型是 Go 语言对象与数据库表之间的映射关系。例如,我们可以定义一个 User 数据模型如下:

type User struct {
	ID       uint64 `gorm:"primary_key"`
	Username string `gorm:"unique"`
	Password string
	Email    string
}

2.4 增删改查操作

在定义好数据模型之后,我们可以使用 Gorm 进行增删改查操作。

2.4.1 增

要向数据库中插入一条数据,我们可以使用以下代码:

user := User{Username: "johndoe", Password: "password", Email: "[email protected]"}
db.Create(&user)

2.4.2 删

要从数据库中删除一条数据,我们可以使用以下代码:

db.Delete(&user)

2.4.3 改

要更新数据库中的一条数据,我们可以使用以下代码:

user.Password = "new_password"
db.Save(&user)

2.4.4 查

要从数据库中查询数据,我们可以使用以下代码:

var users []User
db.Find(&users)

3. Gorm 高级用法

除了上述的基本操作之外,Gorm 还提供了许多高级用法,例如:

3.1 关联查询

Gorm 支持关联查询,我们可以使用它来查询相关联的数据。例如,我们可以使用以下代码查询一个用户的所有订单:

var user User
db.Preload("Orders").Find(&user)

3.2 分页查询

Gorm 支持分页查询,我们可以使用它来查询指定页数的数据。例如,我们可以使用以下代码查询第一页的数据:

var users []User
db.Limit(10).Offset(0).Find(&users)

3.3 排序查询

Gorm 支持排序查询,我们可以使用它来查询按照指定字段排序的数据。例如,我们可以使用以下代码查询按照用户名排序的数据:

var users []User
db.Order("username").Find(&users)

4. 结语

Gorm 是一个非常强大的 ORM 框架,它可以帮助我们轻松地进行数据库操作。通过学习 Gorm,我们可以大大提高我们的开发效率。