48 lines
1.6 KiB
Go
48 lines
1.6 KiB
Go
// Package abstract ...
|
|
//
|
|
// Description : abstract ...
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 2023-10-14 15:06
|
|
package abstract
|
|
|
|
import (
|
|
"git.zhangdeman.cn/zhangdeman/database"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
// IDatabase 定义base约束
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 15:06 2023/10/14
|
|
type IDatabase interface {
|
|
// Create 创建数据
|
|
Create(dbInstance *gorm.DB, data any, optionList ...database.SetOption) error
|
|
// Update 更新数据
|
|
Update(dbInstance *gorm.DB, updateData any, optionFuncList ...database.SetOption) (int64, error)
|
|
// UpdateOne 更新一条数据
|
|
UpdateOne(dbInstance *gorm.DB, updateData any, optionFuncList ...database.SetOption) (int64, error)
|
|
// List 查询数据列表
|
|
List(dbInstance *gorm.DB, result any, optionFuncList ...database.SetOption) error
|
|
// Delete 删除数据
|
|
Delete(dbInstance *gorm.DB, dataModel any, optionFuncList ...database.SetOption) (int64, error)
|
|
// Detail 数据详情
|
|
Detail(dbInstance *gorm.DB, result any, optionFuncList ...database.SetOption) error
|
|
// IsNotFound 错误是否为数据不存在
|
|
IsNotFound(err error) bool
|
|
// Count 查询数据数量
|
|
Count(dbInstance *gorm.DB, optionFuncList ...database.SetOption) (int64, error)
|
|
// Tx 执行事务
|
|
Tx(dbInstance *gorm.DB, txFunc func(dbInstance *gorm.DB) error) error
|
|
// Begin 开启事务
|
|
Begin(dbInstance *gorm.DB) *gorm.DB
|
|
// Commit 提交事务
|
|
Commit(db *gorm.DB) error
|
|
// Rollback 回滚事务
|
|
Rollback(db *gorm.DB) error
|
|
// DetailByPrimaryID 根据主键ID, 查询任意表的数据详情
|
|
DetailByPrimaryID(dbInstance *gorm.DB, result any, primaryID any, primaryKey ...string) error
|
|
}
|