wrapper_client 面向接口实现

This commit is contained in:
2024-08-20 17:56:43 +08:00
parent 5024ae4238
commit 5e87706d0a
3 changed files with 100 additions and 75 deletions

View File

@ -8,8 +8,10 @@
package abstract
import (
"context"
"git.zhangdeman.cn/zhangdeman/database/define"
"go.uber.org/zap"
"gorm.io/gorm"
)
// IWrapperClient 包装的客户端
@ -24,4 +26,10 @@ type IWrapperClient interface {
AddWithConfig(flag string, logInstance *zap.Logger, databaseConfig *define.Database, extraFieldList []string) error
// BatchAddWithConfigDir 通过具体的配置列表增加数据库实例
BatchAddWithConfigDir(cfgDir string, logInstance *zap.Logger, extraFieldList []string) error
// GetDBClient 基于数据库标识获取数据库实例
GetDBClient(dbFlag string) (*define.DBClient, error)
// GetMasterClient 获取主库连接
GetMasterClient(ctx context.Context, dbFlag string) (*gorm.DB, error)
// GetSlaveClient 获取从库连接
GetSlaveClient(ctx context.Context, dbFlag string) (*gorm.DB, error)
}