Documentation
¶
Index ¶
- type DataService
- func (s *DataService) Delete(ctx context.Context, tableName string, where *domain.Filter) error
- func (s *DataService) Filter(ctx context.Context, tableName string, filter domain.Filter, offset, limit int) ([]domain.Row, int64, error)
- func (s *DataService) GetTableInfo(ctx context.Context, tableName string) (*domain.TableInfo, error)
- func (s *DataService) Insert(ctx context.Context, tableName string, data map[string]interface{}) (int64, error)
- func (s *DataService) Query(ctx context.Context, tableName string, options *QueryOptions) (*domain.QueryResult, error)
- func (s *DataService) Update(ctx context.Context, tableName string, data map[string]interface{}, ...) error
- type Manager
- func (m *Manager) AcquireConnection(name string) error
- func (m *Manager) GetDataSource(name string) (domain.DataSource, error)
- func (m *Manager) GetStats() map[string]interface{}
- func (m *Manager) HealthCheck(ctx context.Context) map[string]bool
- func (m *Manager) RegisterDataSource(name string, ds domain.DataSource) error
- func (m *Manager) ReleaseConnection(name string)
- type QueryOptions
- type Router
- func (r *Router) AddRoute(tableName, dataSourceName string)
- func (r *Router) GetRoutes() map[string]string
- func (r *Router) RemoveRoute(tableName string)
- func (r *Router) Route(tableName string) (domain.DataSource, error)
- func (r *Router) SetDefaultDataSource(name string)
- func (r *Router) SetManager(manager *Manager)
- type Service
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DataService ¶
type DataService struct {
// contains filtered or unexported fields
}
DataService 数据访问服务实现
func (*DataService) Filter ¶
func (s *DataService) Filter(ctx context.Context, tableName string, filter domain.Filter, offset, limit int) ([]domain.Row, int64, error)
Filter 过滤数据
func (*DataService) GetTableInfo ¶
func (s *DataService) GetTableInfo(ctx context.Context, tableName string) (*domain.TableInfo, error)
GetTableInfo 获取表信息
func (*DataService) Insert ¶
func (s *DataService) Insert(ctx context.Context, tableName string, data map[string]interface{}) (int64, error)
InsertData 实现Service的Insert方法
func (*DataService) Query ¶
func (s *DataService) Query(ctx context.Context, tableName string, options *QueryOptions) (*domain.QueryResult, error)
Query 查询数据
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager 数据源管理器
func (*Manager) AcquireConnection ¶
AcquireConnection 获取连接
func (*Manager) GetDataSource ¶
func (m *Manager) GetDataSource(name string) (domain.DataSource, error)
GetDataSource 获取数据源
func (*Manager) HealthCheck ¶
HealthCheck 健康检查
func (*Manager) RegisterDataSource ¶
func (m *Manager) RegisterDataSource(name string, ds domain.DataSource) error
RegisterDataSource 注册数据源
func (*Manager) ReleaseConnection ¶
ReleaseConnection 释放连接
type QueryOptions ¶
type QueryOptions struct {
SelectColumns []string
Filters []domain.Filter
Offset int
Limit int
OrderBy []string
}
QueryOptions 查询选项
type Router ¶
type Router struct {
// contains filtered or unexported fields
}
Router 数据源路由器
func (*Router) Route ¶
func (r *Router) Route(tableName string) (domain.DataSource, error)
Route 路由表到数据源
func (*Router) SetDefaultDataSource ¶
SetDefaultDataSource 设置默认数据源
type Service ¶
type Service interface {
// Query 查询数据
Query(ctx context.Context, tableName string, options *QueryOptions) (*domain.QueryResult, error)
// Filter 过滤数据(支持下推)
Filter(ctx context.Context, tableName string, filter domain.Filter, offset, limit int) ([]domain.Row, int64, error)
// GetTableInfo 获取表信息
GetTableInfo(ctx context.Context, tableName string) (*domain.TableInfo, error)
// Insert 插入数据,返回 lastInsertID 和 error
Insert(ctx context.Context, tableName string, data map[string]interface{}) (int64, error)
// Update 更新数据
Update(ctx context.Context, tableName string, data map[string]interface{}, where *domain.Filter) error
// Delete 删除数据
Delete(ctx context.Context, tableName string, where *domain.Filter) error
}
Service 数据访问服务接口
func NewDataService ¶
func NewDataService(dataSource domain.DataSource) Service
NewDataService 创建数据访问服务
Click to show internal directories.
Click to hide internal directories.