31 lines
828 B
Markdown
31 lines
828 B
Markdown
|
# Gorm的使用
|
|||
|
## Gorm是什么
|
|||
|
- GORM 是 Go 语言的 ORM 库,提供模型定义、关联管理、事务支持、查询构建、数据迁移、钩子回调等功能,支持主流数据库(如 MySQL/PostgreSQL/SQLite),简化数据库操作。
|
|||
|
## 如何使用Gorm
|
|||
|
### 导入Gorm库
|
|||
|
```go
|
|||
|
import (
|
|||
|
"gorm.io/driver/mysql"
|
|||
|
)
|
|||
|
```
|
|||
|
### 基本操作
|
|||
|
- 1、连接数据库
|
|||
|
```go
|
|||
|
const (
|
|||
|
USERNAME = "root"
|
|||
|
PASSWD = "oppofindx2"
|
|||
|
DATABASENAME = "Class"
|
|||
|
)
|
|||
|
dsn := fmt.Sprintf("%s:%s@tcp(127.0.0.1:3306)/%s?charset=utf8mb4&parseTime=True&loc=Local", USERNAME, PASSWD, DATABASENAME)
|
|||
|
db := mysql.Open(dsn)
|
|||
|
`````
|
|||
|
- 2、数据库中表的定义
|
|||
|
- 在Gorm中,定义一张表使用的是结构体
|
|||
|
```go
|
|||
|
type User struct {
|
|||
|
gorm.Model
|
|||
|
Name string
|
|||
|
Age int
|
|||
|
}
|
|||
|
```
|
|||
|
- 自动迁移表结构(方便我们修改表,给表添加参数)
|