feat():learning后台管理项目初始化
This commit is contained in:
82
internal/storage/README.md
Normal file
82
internal/storage/README.md
Normal file
@@ -0,0 +1,82 @@
|
||||
# 存储层
|
||||
|
||||
本模块负责数据访问层的实现,提供数据库操作接口。
|
||||
|
||||
## 功能特性
|
||||
|
||||
- 统一的数据库连接管理
|
||||
- 自动数据库迁移
|
||||
- 接口化的数据访问层
|
||||
- 支持分页查询
|
||||
- 支持条件查询
|
||||
|
||||
## 模块结构
|
||||
|
||||
```
|
||||
storage/
|
||||
├── database.go # 数据库连接和迁移
|
||||
├── user_storage.go # 用户数据访问
|
||||
├── role_storage.go # 角色数据访问
|
||||
├── menu_storage.go # 菜单数据访问
|
||||
├── log_storage.go # 日志数据访问
|
||||
└── README.md # 说明文档
|
||||
```
|
||||
|
||||
## 使用方法
|
||||
|
||||
### 初始化数据库
|
||||
|
||||
```go
|
||||
// 初始化数据库连接
|
||||
err := storage.InitDatabase()
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
// 自动迁移数据库表
|
||||
err = storage.AutoMigrate()
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
```
|
||||
|
||||
### 使用存储接口
|
||||
|
||||
```go
|
||||
// 创建用户存储实例
|
||||
userStorage := storage.NewUserStorage()
|
||||
|
||||
// 创建用户
|
||||
user := &models.User{
|
||||
Username: "admin",
|
||||
Email: "admin@example.com",
|
||||
Password: "password",
|
||||
}
|
||||
err := userStorage.Create(user)
|
||||
|
||||
// 获取用户列表
|
||||
req := &models.UserListRequest{
|
||||
PageRequest: models.PageRequest{Page: 1, Size: 10},
|
||||
Username: "admin",
|
||||
}
|
||||
users, total, err := userStorage.List(req)
|
||||
```
|
||||
|
||||
## 接口设计
|
||||
|
||||
所有存储接口都遵循统一的模式:
|
||||
|
||||
- `Create()` - 创建记录
|
||||
- `GetByID()` - 根据ID获取记录
|
||||
- `Update()` - 更新记录
|
||||
- `Delete()` - 删除记录
|
||||
- `List()` - 获取列表(支持分页和条件查询)
|
||||
|
||||
## 数据库配置
|
||||
|
||||
数据库配置通过配置文件进行管理,支持以下配置项:
|
||||
|
||||
- `dsn` - 数据库连接字符串
|
||||
- `maxIdleConns` - 最大空闲连接数
|
||||
- `maxOpenConns` - 最大打开连接数
|
||||
|
||||
Reference in New Issue
Block a user