Documentation
¶
Index ¶
- func AppendWhereFromStruct(db *gorm.DB, s any)
- func GetModelsByIDs[T any](modelIDs []string) []T
- func InitDB(opt *Options, log log.Logger, plugins ...gorm.Plugin) *gorm.DB
- func NewPgSqlGetter(opt *Options) *pgsqlConnector
- func NewSqliteGetter(opt *Options) *sqliteGetter
- func Paginate(page, pageSize int) func(db *gorm.DB) *gorm.DB
- type BaseModel
- type BaseRepository
- func (i *BaseRepository[T]) ChangeStatus(req *ChangeStatus) error
- func (i *BaseRepository[T]) Delete(ids ...any) error
- func (i *BaseRepository[T]) Detail(id any) (*T, error)
- func (i *BaseRepository[T]) Retrieve(page, pageSize int, fn func(db *gorm.DB)) (count int64, list []T, err error)
- func (i *BaseRepository[T]) Save(data *T) error
- func (i *BaseRepository[T]) Unique(id uint, fn func(db *gorm.DB)) (*T, bool)
- func (i *BaseRepository[T]) WithContext(ctx context.Context) *BaseRepository[T]
- type ChangeStatus
- type Connector
- type CustomReplacer
- type DBServiceProvider
- type Driver
- type MysqlConnector
- type Options
- type OwlGormLogger
- func (i *OwlGormLogger) Error(ctx context.Context, msg string, data ...interface{})
- func (i *OwlGormLogger) Info(ctx context.Context, msg string, data ...interface{})
- func (i *OwlGormLogger) LogMode(level logger.LogLevel) logger.Interface
- func (i *OwlGormLogger) Trace(ctx context.Context, begin time.Time, ...)
- func (i *OwlGormLogger) Warn(ctx context.Context, msg string, data ...interface{})
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AppendWhereFromStruct ¶
AppendWhereFromStruct 根据结构体中的字段名,生成 where 条件 NameLike = name like AgeGt = where age > AgeLt = where age <
func GetModelsByIDs ¶
func NewPgSqlGetter ¶
func NewPgSqlGetter(opt *Options) *pgsqlConnector
func NewSqliteGetter ¶
func NewSqliteGetter(opt *Options) *sqliteGetter
Types ¶
type BaseModel ¶
type BaseModel struct {
ID uint `gorm:"primarykey" json:"id,string"`
CreatedAt *time.Time `json:"createdAt,omitempty"`
UpdatedAt *time.Time `json:"updatedAt,omitempty"`
DeletedAt *gorm.DeletedAt `gorm:"index" json:"deletedAt,omitempty"` // 删除时间
CreatorID string `gorm:"comment:创建人" json:"creatorID,omitempty"` // 创建人
CreatorName string `gorm:"comment:创建人名称" json:"creatorName,omitempty"` // 创建人名称
UpdaterID string `gorm:"comment:修改人" json:"updaterID,omitempty"` // 修改人
UpdaterName string `gorm:"comment:修改人名称" json:"updaterName,omitempty"` // 修改人名称
}
type BaseRepository ¶
type BaseRepository[T any] struct { // contains filtered or unexported fields }
func NewBaseRepository ¶
func NewBaseRepository[T any](db *gorm.DB) BaseRepository[T]
func (*BaseRepository[T]) ChangeStatus ¶
func (i *BaseRepository[T]) ChangeStatus(req *ChangeStatus) error
ChangeStatus 更改状态,我们经常会需要单独的更改状态,比如禁用,启用等。
func (*BaseRepository[T]) Detail ¶
func (i *BaseRepository[T]) Detail(id any) (*T, error)
Detail 获取详情
func (*BaseRepository[T]) Retrieve ¶
func (i *BaseRepository[T]) Retrieve(page, pageSize int, fn func(db *gorm.DB)) (count int64, list []T, err error)
Retrieve 获取详情
func (*BaseRepository[T]) Save ¶
func (i *BaseRepository[T]) Save(data *T) error
Save 保存或者更新, save 会保存所有字段,包括零值字段
func (*BaseRepository[T]) Unique ¶
func (i *BaseRepository[T]) Unique(id uint, fn func(db *gorm.DB)) (*T, bool)
Unique 唯一性判断
func (*BaseRepository[T]) WithContext ¶
func (i *BaseRepository[T]) WithContext(ctx context.Context) *BaseRepository[T]
type ChangeStatus ¶
type CustomReplacer ¶
type CustomReplacer struct {
// contains filtered or unexported fields
}
func (CustomReplacer) Replace ¶
func (r CustomReplacer) Replace(name string) string
type DBServiceProvider ¶
type DBServiceProvider struct {
// contains filtered or unexported fields
}
func (*DBServiceProvider) Boot ¶
func (i *DBServiceProvider) Boot()
func (*DBServiceProvider) Conf ¶ added in v1.3.0
func (i *DBServiceProvider) Conf() map[string]string
func (*DBServiceProvider) Description ¶ added in v1.3.0
func (i *DBServiceProvider) Description() string
func (*DBServiceProvider) Register ¶
func (i *DBServiceProvider) Register()
type Driver ¶
type Driver string
const ClickHouse Driver = "clickhouse"
const DM Driver = "dm" // 达梦数据库
const Mysql Driver = "mysql"
const Oracle Driver = "oracle"
const Pgsql Driver = "pgsql"
const Sqlite Driver = "sqlite"
type MysqlConnector ¶
type MysqlConnector struct {
// contains filtered or unexported fields
}
func NewMysqlConnector ¶
func NewMysqlConnector(opt *Options) *MysqlConnector
func (*MysqlConnector) DefaultOptions ¶
func (i *MysqlConnector) DefaultOptions() *Options
func (*MysqlConnector) GetDSN ¶
func (i *MysqlConnector) GetDSN() string
func (*MysqlConnector) Options ¶
func (i *MysqlConnector) Options() *Options
type Options ¶
type Options struct {
Username string `json:"username"`
Password string `json:"password"`
Host string `json:"host"`
Port int `json:"port"`
Driver Driver `json:"driver"` // 数据库类型
Database string `json:"database"`
Schema string `json:"schema"`
Charset string `json:"charset"`
Query string `json:"query"`
MaxIdleConns int `json:"max-idle-conns"`
MaxConns int `json:"max-conns"`
TimeZone string `json:"time-zone"`
}
type OwlGormLogger ¶
type OwlGormLogger struct {
// contains filtered or unexported fields
}
func NewOwlGormLogger ¶
func NewOwlGormLogger(l logContract.Logger) *OwlGormLogger
func (*OwlGormLogger) Error ¶
func (i *OwlGormLogger) Error(ctx context.Context, msg string, data ...interface{})
func (*OwlGormLogger) Info ¶
func (i *OwlGormLogger) Info(ctx context.Context, msg string, data ...interface{})
func (*OwlGormLogger) LogMode ¶
func (i *OwlGormLogger) LogMode(level logger.LogLevel) logger.Interface
Click to show internal directories.
Click to hide internal directories.