dataaccess

package
v0.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 19, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Index

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) Delete

func (s *DataService) Delete(ctx context.Context, tableName string, where *domain.Filter) error

DeleteData 实现Service的Delete方法

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 查询数据

func (*DataService) Update

func (s *DataService) Update(ctx context.Context, tableName string, data map[string]interface{}, where *domain.Filter) error

UpdateData 实现Service的Update方法

type Manager

type Manager struct {
	// contains filtered or unexported fields
}

Manager 数据源管理器

func NewManager

func NewManager(dataSource domain.DataSource) *Manager

NewManager 创建数据源管理器

func (*Manager) AcquireConnection

func (m *Manager) AcquireConnection(name string) error

AcquireConnection 获取连接

func (*Manager) GetDataSource

func (m *Manager) GetDataSource(name string) (domain.DataSource, error)

GetDataSource 获取数据源

func (*Manager) GetStats

func (m *Manager) GetStats() map[string]interface{}

GetStats 获取统计信息

func (*Manager) HealthCheck

func (m *Manager) HealthCheck(ctx context.Context) map[string]bool

HealthCheck 健康检查

func (*Manager) RegisterDataSource

func (m *Manager) RegisterDataSource(name string, ds domain.DataSource) error

RegisterDataSource 注册数据源

func (*Manager) ReleaseConnection

func (m *Manager) ReleaseConnection(name string)

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 NewRouter

func NewRouter() *Router

NewRouter 创建路由器

func (*Router) AddRoute

func (r *Router) AddRoute(tableName, dataSourceName string)

AddRoute 添加路由

func (*Router) GetRoutes

func (r *Router) GetRoutes() map[string]string

GetRoutes 获取所有路由

func (*Router) RemoveRoute

func (r *Router) RemoveRoute(tableName string)

RemoveRoute 移除路由

func (*Router) Route

func (r *Router) Route(tableName string) (domain.DataSource, error)

Route 路由表到数据源

func (*Router) SetDefaultDataSource

func (r *Router) SetDefaultDataSource(name string)

SetDefaultDataSource 设置默认数据源

func (*Router) SetManager

func (r *Router) SetManager(manager *Manager)

SetManager 设置管理器

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 创建数据访问服务

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL