Versions in this module Expand all Collapse all v0 v0.0.2 Aug 29, 2026 v0.0.1 Aug 28, 2026 Changes in this version + const APIVersion + const AutoMappingBehaviorFull + const AutoMappingBehaviorNone + const AutoMappingBehaviorPartial + const AutoMappingUnknownColumnBehaviorFailing + const AutoMappingUnknownColumnBehaviorNone + const AutoMappingUnknownColumnBehaviorWarning + const DatabaseIDProviderVendor + const DbTypeMariaDB + const DbTypeMySQL + const DbTypeOracle + const DbTypePostgres + const DbTypeQuestion + const DbTypeSQLServer + const DbTypeSQLite + const DefaultBatchSize + const DefaultDataSourceKey + const DefaultPreparedStatementCacheSize + const DialectGeneratedKeyLastInsertID + const DialectGeneratedKeyNone + const DialectGeneratedKeyOutput + const DialectGeneratedKeyReturning + const DialectGeneratedKeyReturningInto + const DialectIdentifierQuoteBacktick + const DialectIdentifierQuoteBracket + const DialectIdentifierQuoteDouble + const DialectJSONExtension + const DialectJSONNative + const DialectJSONNone + const DialectPlaceholderAtPNumber + const DialectPlaceholderColonNumber + const DialectPlaceholderDollarNumber + const DialectPlaceholderQuestion + const DialectRowLockForUpdate + const DialectRowLockHints + const DialectRowLockNone + const DialectUpsertMerge + const DialectUpsertNone + const DialectUpsertOnConflict + const DialectUpsertOnDuplicateKey + const DynamicSQLNodeBind + const DynamicSQLNodeChoose + const DynamicSQLNodeForeach + const DynamicSQLNodeIf + const DynamicSQLNodeInclude + const DynamicSQLNodeOtherwise + const DynamicSQLNodeSet + const DynamicSQLNodeText + const DynamicSQLNodeTrim + const DynamicSQLNodeWhen + const DynamicSQLNodeWhere + const ExecutorTypeBatch + const ExecutorTypeReuse + const ExecutorTypeSimple + const FieldFillDefault + const FieldFillInsert + const FieldFillInsertUpdate + const FieldFillUpdate + const FieldStrategyAlways + const FieldStrategyDefault + const FieldStrategyNever + const FieldStrategyNotEmpty + const FieldStrategyNotNull + const FieldStrategyNotZero + const IDTypeAssignID + const IDTypeAssignUUID + const IDTypeAuto + const IDTypeInput + const IDTypeNone + const InterceptorNameAll + const InterceptorNameBlockAttack + const InterceptorNameDataPermission + const InterceptorNameDynamicTable + const InterceptorNameEntitySemantic + const InterceptorNameIllegalSQL + const InterceptorNamePagination + const InterceptorNameReadOnly + const InterceptorNameSQLGuard + const InterceptorNameSQLObserver + const InterceptorNameTenant + const LocalCacheScopeSession + const LocalCacheScopeStatement + const ModulePath + const ParameterModeIn + const ParameterModeInOut + const ParameterModeOut + const ResultSetTypeForwardOnly + const ResultSetTypeScrollInsensitive + const ResultSetTypeScrollSensitive + const RoutingOperationCall + const RoutingOperationExec + const RoutingOperationPage + const RoutingOperationQuery + const RoutingOperationQueryOne + const SelectKeyOrderAfter + const SelectKeyOrderBefore + const StatementCacheDefault + const StatementCacheDisabled + const StatementCacheEnabled + const StatementCommandCall + const StatementCommandDelete + const StatementCommandInsert + const StatementCommandSelect + const StatementCommandUpdate + const StatementSourceAnnotation + const StatementSourceBase + const StatementSourceXML + const StatementTypeCallable + const StatementTypePrepared + var ErrBinding = rt.ErrBinding + var ErrConfiguration = rt.ErrConfiguration + var ErrExecutor = rt.ErrExecutor + var ErrMapping = rt.ErrMapping + var ErrORM = rt.ErrORM + var ErrRegistry = rt.ErrRegistry + var ErrStatementNotFound = rt.ErrStatementNotFound + var ErrTooManyResults = rt.ErrTooManyResults + var ErrTransactionCompleted = rt.ErrTransactionCompleted + func BetweenTypedValuesIf[T any, V any, W TypedConditionTarget[T, W]](condition bool, w W, field TypedField[T, V], left V, right V) W + func BetweenTypedValues[T any, V any, W TypedConditionTarget[T, W]](w W, field TypedField[T, V], left V, right V) W + func EqTypedValueIf[T any, V any, W TypedConditionTarget[T, W]](condition bool, w W, field TypedField[T, V], value V) W + func EqTypedValue[T any, V any, W TypedConditionTarget[T, W]](w W, field TypedField[T, V], value V) W + func GeTypedValueIf[T any, V any, W TypedConditionTarget[T, W]](condition bool, w W, field TypedField[T, V], value V) W + func GeTypedValue[T any, V any, W TypedConditionTarget[T, W]](w W, field TypedField[T, V], value V) W + func GetFieldValue[T any, ID any, V any](ctx context.Context, service *Service[T, ID], field TypedField[T, V], ...) (V, error) + func GetFirstFieldValue[T any, ID any, V any](ctx context.Context, service *Service[T, ID], field TypedField[T, V], ...) (V, error) + func GtTypedValueIf[T any, V any, W TypedConditionTarget[T, W]](condition bool, w W, field TypedField[T, V], value V) W + func GtTypedValue[T any, V any, W TypedConditionTarget[T, W]](w W, field TypedField[T, V], value V) W + func InTypedValuesIf[T any, V any, W TypedConditionTarget[T, W]](condition bool, w W, field TypedField[T, V], values ...V) W + func InTypedValues[T any, V any, W TypedConditionTarget[T, W]](w W, field TypedField[T, V], values ...V) W + func LeTypedValueIf[T any, V any, W TypedConditionTarget[T, W]](condition bool, w W, field TypedField[T, V], value V) W + func LeTypedValue[T any, V any, W TypedConditionTarget[T, W]](w W, field TypedField[T, V], value V) W + func LikeLeftTypedValueIf[T any, V any, W TypedConditionTarget[T, W]](condition bool, w W, field TypedField[T, V], value V) W + func LikeLeftTypedValue[T any, V any, W TypedConditionTarget[T, W]](w W, field TypedField[T, V], value V) W + func LikeRightTypedValueIf[T any, V any, W TypedConditionTarget[T, W]](condition bool, w W, field TypedField[T, V], value V) W + func LikeRightTypedValue[T any, V any, W TypedConditionTarget[T, W]](w W, field TypedField[T, V], value V) W + func LikeTypedValueIf[T any, V any, W TypedConditionTarget[T, W]](condition bool, w W, field TypedField[T, V], value V) W + func LikeTypedValue[T any, V any, W TypedConditionTarget[T, W]](w W, field TypedField[T, V], value V) W + func ListFieldValues[T any, ID any, V any](ctx context.Context, service *Service[T, ID], field TypedField[T, V], ...) ([]V, error) + func LtTypedValueIf[T any, V any, W TypedConditionTarget[T, W]](condition bool, w W, field TypedField[T, V], value V) W + func LtTypedValue[T any, V any, W TypedConditionTarget[T, W]](w W, field TypedField[T, V], value V) W + func NeTypedValueIf[T any, V any, W TypedConditionTarget[T, W]](condition bool, w W, field TypedField[T, V], value V) W + func NeTypedValue[T any, V any, W TypedConditionTarget[T, W]](w W, field TypedField[T, V], value V) W + func NotBetweenTypedValuesIf[T any, V any, W TypedConditionTarget[T, W]](condition bool, w W, field TypedField[T, V], left V, right V) W + func NotBetweenTypedValues[T any, V any, W TypedConditionTarget[T, W]](w W, field TypedField[T, V], left V, right V) W + func NotInTypedValuesIf[T any, V any, W TypedConditionTarget[T, W]](condition bool, w W, field TypedField[T, V], values ...V) W + func NotInTypedValues[T any, V any, W TypedConditionTarget[T, W]](w W, field TypedField[T, V], values ...V) W + func NotLikeTypedValueIf[T any, V any, W TypedConditionTarget[T, W]](condition bool, w W, field TypedField[T, V], value V) W + func NotLikeTypedValue[T any, V any, W TypedConditionTarget[T, W]](w W, field TypedField[T, V], value V) W + func QueryEach[T any](ctx context.Context, session Session, statement string, args NamedArgs, ...) error + func RegisterDefaultInjectedStatementsForRegistry(registry *Registry, namespaceResolver InjectNamespaceResolver, ...) error + func RegisterInjectedStatements(registry *Registry, namespace string, entity EntityMeta, injector SQLInjector, ...) error + func RowLockClause(dialect Dialect, options RowLockOptions) (string, error) + func SelectFieldValue[T any, ID any, V any](ctx context.Context, mapper *BaseMapper[T, ID], field TypedField[T, V], ...) (V, error) + func SelectFieldValues[T any, ID any, V any](ctx context.Context, mapper *BaseMapper[T, ID], field TypedField[T, V], ...) ([]V, error) + func SelectFirstFieldValue[T any, ID any, V any](ctx context.Context, mapper *BaseMapper[T, ID], field TypedField[T, V], ...) (V, error) + func ShrinkSQLWhitespaces(sqlText string) string + func StatementInterceptorIgnored(statement StatementMeta, name string) bool + func ValidateRegistry(registry *Registry) error + func WithDataSource(ctx context.Context, key DataSourceKey) context.Context + func WithPageRequest(ctx context.Context, page PageRequest) context.Context + type AutoMappingBehavior = rt.AutoMappingBehavior + func ParseAutoMappingBehavior(value string) (AutoMappingBehavior, error) + type AutoMappingUnknownColumnBehavior = rt.AutoMappingUnknownColumnBehavior + func ParseAutoMappingUnknownColumnBehavior(value string) (AutoMappingUnknownColumnBehavior, error) + type BaseMapper = rt.BaseMapper[T, ID] + func NewBaseMapper[T any, ID any](session StatementSession, entity EntityMeta, options ...BaseMapperOption) (*BaseMapper[T, ID], error) + type BaseMapperOption = rt.BaseMapperOption + func WithBaseMapperClock(clock func() time.Time) BaseMapperOption + func WithBaseMapperDialect(dialect Dialect) BaseMapperOption + func WithBaseMapperGlobalConfig(global GlobalConfig) BaseMapperOption + func WithBaseMapperIdentifierGenerator(generator IdentifierGenerator) BaseMapperOption + func WithBaseMapperMetaObjectHandler(handler MetaObjectHandler) BaseMapperOption + type BatchError = rt.BatchError + type BatchResult = rt.BatchResult + type BatchSession = rt.BatchSession + func NewBatchSession(session Session) (*BatchSession, error) + type BindingError = rt.BindingError + type BlockingCache = rt.BlockingCache + func NewBlockingCache(delegate Cache) *BlockingCache + type Cache = rt.Cache + type CacheMeta = rt.CacheMeta + type CacheMissReleaser = rt.CacheMissReleaser + type CacheStats = rt.CacheStats + type CacheStatsProvider = rt.CacheStatsProvider + type CallResult = rt.CallResult + func Call(ctx context.Context, session Session, statement string, args NamedArgs, ...) (CallResult, error) + type CallSession = rt.CallSession + type ColumnMeta = rt.ColumnMeta + type CompiledSQL = rt.CompiledSQL + func CompileSQL(query string, args NamedArgs, dialect Dialect) (CompiledSQL, error) + func CompileSQLContext(ctx context.Context, query string, args NamedArgs, dialect Dialect) (CompiledSQL, error) + type ConfigProperties = rt.ConfigProperties + type Configuration = rt.Configuration + func DefaultConfiguration() Configuration + type ConfigurationError = rt.ConfigurationError + type Cursor = rt.Cursor[T] + func QueryCursor[T any](ctx context.Context, session Session, statement string, args NamedArgs) (*Cursor[T], error) + type CursorQuerySession = rt.CursorQuerySession + type DataPermissionProvider = rt.DataPermissionProvider + type DataSourceKey = rt.DataSourceKey + func DataSourceFromContext(ctx context.Context) (DataSourceKey, bool) + type DataSourceResolver = rt.DataSourceResolver + func ReadWriteDataSourceResolver(read DataSourceKey, write DataSourceKey) DataSourceResolver + func StatementDataSourceResolver(routes map[string]DataSourceKey, fallback DataSourceResolver) DataSourceResolver + func StaticDataSourceResolver(key DataSourceKey) DataSourceResolver + type DatabaseIDProvider = rt.DatabaseIDProvider + type DatabaseIDProviderFile = rt.DatabaseIDProviderFile + type Db = rt.Db + func NewDb(session Session) (Db, error) + type DbConfig = rt.DbConfig + func DefaultDbConfig() DbConfig + type DbType = rt.DbType + func ParseDbType(value string) (DbType, error) + type DefaultIdentifierGenerator = rt.DefaultIdentifierGenerator + func NewDefaultIdentifierGenerator() *DefaultIdentifierGenerator + type DefaultSQLInjector = rt.DefaultSQLInjector + type DeleteSQLBuilder = rt.DeleteSQLBuilder + func NewDeleteSQLBuilder() *DeleteSQLBuilder + type Dialect = rt.Dialect + func NewDialect(dbType DbType) (Dialect, error) + func NewMariaDBDialect() Dialect + func NewMySQLDialect() Dialect + func NewOracleDialect() Dialect + func NewPostgresDialect() Dialect + func NewQuestionDialect() Dialect + func NewSQLServerDialect() Dialect + func NewSQLiteDialect() Dialect + type DialectCapabilities = rt.DialectCapabilities + func DialectCapabilitiesOf(dialect Dialect) DialectCapabilities + func NewDialectCapabilities(dbType DbType) (DialectCapabilities, error) + type DialectCapabilitiesProvider = rt.DialectCapabilitiesProvider + type DialectGeneratedKeyStyle = rt.DialectGeneratedKeyStyle + type DialectIdentifierQuoteStyle = rt.DialectIdentifierQuoteStyle + type DialectJSONStyle = rt.DialectJSONStyle + type DialectPlaceholderStyle = rt.DialectPlaceholderStyle + type DialectRowLockStyle = rt.DialectRowLockStyle + type DialectUpsertStyle = rt.DialectUpsertStyle + type DynamicSQLNode = rt.DynamicSQLNode + type DynamicSQLNodeKind = rt.DynamicSQLNodeKind + type DynamicSQLRenderOptions = rt.DynamicSQLRenderOptions + type EntityMeta = rt.EntityMeta + type EntitySemanticInterceptorOption = rt.EntitySemanticInterceptorOption + func WithEntitySemanticClock(clock func() time.Time) EntitySemanticInterceptorOption + type EnumValuer = rt.EnumValuer + type EnumValuerContext = rt.EnumValuerContext + type ExecutorError = rt.ExecutorError + type ExecutorType = rt.ExecutorType + func ParseExecutorType(value string) (ExecutorType, error) + type Field = rt.Field[T] + func NewField[T any](column string) Field[T] + type FieldFill = rt.FieldFill + func ParseFieldFill(value string) (FieldFill, error) + type FieldStrategy = rt.FieldStrategy + func ParseFieldStrategy(value string) (FieldStrategy, error) + type GeneratedKeyPlan = rt.GeneratedKeyPlan + func NewGeneratedKeyPlan(dialect Dialect, keyColumn string) (GeneratedKeyPlan, error) + type GlobalConfig = rt.GlobalConfig + func DefaultGlobalConfig() GlobalConfig + type IDType = rt.IDType + func ParseIDType(value string) (IDType, error) + type IdentifierGenerator = rt.IdentifierGenerator + type IllegalSQLOption = rt.IllegalSQLOption + func WithIllegalSQLDenyMultipleStatements(enabled bool) IllegalSQLOption + func WithIllegalSQLDenySelectWildcard(enabled bool) IllegalSQLOption + func WithIllegalSQLDenyWriteWithoutWhere(enabled bool) IllegalSQLOption + type InjectNamespaceResolver = rt.InjectNamespaceResolver + type InjectOption = rt.InjectOption + func WithInjectDialect(dialect Dialect) InjectOption + func WithInjectGlobalConfig(global GlobalConfig) InjectOption + type InsertSQLBuilder = rt.InsertSQLBuilder + func NewInsertSQLBuilder() *InsertSQLBuilder + type Lazy = rt.Lazy[T] + func NewLazy[T any](loader func(context.Context) (T, error)) Lazy[T] + type LazySlice = rt.LazySlice[T] + func NewLazySlice[T any](loader func(context.Context) ([]T, error)) LazySlice[T] + type LocalCacheScope = rt.LocalCacheScope + func ParseLocalCacheScope(value string) (LocalCacheScope, error) + type LogicDeleteByIDInjector = rt.LogicDeleteByIDInjector + type ManagedSession = rt.ManagedSession + type MapperMeta = rt.MapperMeta + type MapperRef = rt.MapperRef + type MappingError = rt.MappingError + type MemoryCache = rt.MemoryCache + func NewMemoryCache(id string, options ...MemoryCacheOption) *MemoryCache + type MemoryCacheOption = rt.MemoryCacheOption + func WithMemoryCacheMaxEntries(maxEntries int) MemoryCacheOption + func WithMemoryCacheTTL(ttl time.Duration) MemoryCacheOption + type MetaObject = rt.MetaObject + func NewMetaObject(entity EntityMeta, target any) (*MetaObject, error) + type MetaObjectHandler = rt.MetaObjectHandler + type MetaObjectHandlerFuncs = rt.MetaObjectHandlerFuncs + type MultiRowInsertSQLBuilder = rt.MultiRowInsertSQLBuilder + func NewMultiRowInsertSQLBuilder() *MultiRowInsertSQLBuilder + type MyBatisAssembly = rt.MyBatisAssembly + type MyBatisAssemblyResult = rt.MyBatisAssemblyResult + func AssembleMyBatisConfig(assembly MyBatisAssembly) (MyBatisAssemblyResult, error) + func LoadAndAssembleMyBatisConfig(path string, assembly MyBatisAssembly) (MyBatisAssemblyResult, error) + type MyBatisConfig = rt.MyBatisConfig + func DecodeMyBatisConfig(reader io.Reader) (MyBatisConfig, error) + func DefaultMyBatisConfig() MyBatisConfig + func LoadMyBatisConfig(path string) (MyBatisConfig, error) + type MyBatisConfigFile = rt.MyBatisConfigFile + type MyBatisDbConfigFile = rt.MyBatisDbConfigFile + type MyBatisEnvironment = rt.MyBatisEnvironment + type MyBatisEnvironmentFile = rt.MyBatisEnvironmentFile + type MyBatisGlobalConfigFile = rt.MyBatisGlobalConfigFile + type MyBatisSettings = rt.MyBatisSettings + type MyBatisSettingsFile = rt.MyBatisSettingsFile + type NamedArgs = rt.NamedArgs + type Page = rt.Page[T] + func QueryPage[T any](ctx context.Context, session Session, statement string, args NamedArgs, ...) (Page[T], error) + type PageQueryResult = rt.PageQueryResult + type PageQuerySession = rt.PageQuerySession + type PageRequest = rt.PageRequest + func NewPageRequest(current int64, size int64) PageRequest + func PageRequestFromContext(ctx context.Context) (PageRequest, bool) + type ParameterHandler = rt.ParameterHandler + type ParameterHandlerMiddleware = rt.ParameterHandlerMiddleware + type ParameterHandlerMiddlewareFunc = rt.ParameterHandlerMiddlewareFunc + type ParameterMeta = rt.ParameterMeta + type ParameterMode = rt.ParameterMode + func NormalizeParameterMode(mode ParameterMode) ParameterMode + func ParseParameterMode(value string) (ParameterMode, error) + type PluginRef = rt.PluginRef + type PluginRegistry = rt.PluginRegistry + type PluginRegistryBuilder = rt.PluginRegistryBuilder + func NewPluginRegistryBuilder() *PluginRegistryBuilder + type QueryChain = rt.QueryChain[T, ID] + type QueryWrapper = rt.QueryWrapper[T] + func NewQueryWrapper[T any]() *QueryWrapper[T] + type RawIdentifier = rt.RawIdentifier + func NewRawIdentifier(name string) (RawIdentifier, error) + type RawOrderBy = rt.RawOrderBy + func NewRawOrderBy(items ...RawOrderItem) RawOrderBy + type RawOrderItem = rt.RawOrderItem + func NewRawOrderItem(column string, desc bool) (RawOrderItem, error) + type RawSQLToken = rt.RawSQLToken + type Registry = rt.Registry + func NewRegistry() *Registry + type RegistryError = rt.RegistryError + type RenderedSQL = rt.RenderedSQL + func RenderDynamicSQL(nodes []DynamicSQLNode, args NamedArgs) (RenderedSQL, error) + func RenderDynamicSQLWithOptions(nodes []DynamicSQLNode, args NamedArgs, options DynamicSQLRenderOptions) (RenderedSQL, error) + type Result = rt.Result + type ResultArgMeta = rt.ResultArgMeta + type ResultAssociationMeta = rt.ResultAssociationMeta + type ResultCollectionMeta = rt.ResultCollectionMeta + type ResultConstructorMeta = rt.ResultConstructorMeta + type ResultDiscriminatorCaseMeta = rt.ResultDiscriminatorCaseMeta + type ResultDiscriminatorMeta = rt.ResultDiscriminatorMeta + type ResultFieldMeta = rt.ResultFieldMeta + type ResultHandler = rt.ResultHandler[T] + type ResultMapMeta = rt.ResultMapMeta + type ResultSetHandler = rt.ResultSetHandler + type ResultSetHandlerMiddleware = rt.ResultSetHandlerMiddleware + type ResultSetHandlerMiddlewareFunc = rt.ResultSetHandlerMiddlewareFunc + type ResultSetMeta = rt.ResultSetMeta + type ResultSetRows = rt.ResultSetRows + type ResultSetType = rt.ResultSetType + func ParseResultSetType(value string) (ResultSetType, error) + type RoutingOperation = rt.RoutingOperation + type RoutingOperationKind = rt.RoutingOperationKind + type RoutingSession = rt.RoutingSession + func NewRoutingSession(sessions map[DataSourceKey]Session, resolver DataSourceResolver, ...) (*RoutingSession, error) + type RoutingSessionFactory = rt.RoutingSessionFactory + func NewRoutingSessionFactory(openers map[DataSourceKey]SessionOpenFunc, resolver DataSourceResolver, ...) (*RoutingSessionFactory, error) + type RoutingSessionOption = rt.RoutingSessionOption + func WithRoutingDefaultDataSource(key DataSourceKey) RoutingSessionOption + func WithRoutingRegistry(registry *Registry) RoutingSessionOption + type RowCursor = rt.RowCursor + type RowLockOptions = rt.RowLockOptions + type RowScanner = rt.RowScanner + type RowScannerFunc = rt.RowScannerFunc + type RowScannerRow = rt.RowScannerRow + type RowScannerTypeHandlers = rt.RowScannerTypeHandlers + type Rows = rt.Rows + type RuntimeAssembly = rt.RuntimeAssembly + type RuntimeAssemblyResult = rt.RuntimeAssemblyResult + func AssembleRuntimeConfig(assembly RuntimeAssembly) (RuntimeAssemblyResult, error) + func LoadAndAssembleRuntimeConfig(path string, assembly RuntimeAssembly) (RuntimeAssemblyResult, error) + type RuntimeConfig = rt.RuntimeConfig + func DecodeRuntimeConfig(reader io.Reader) (RuntimeConfig, error) + func DefaultRuntimeConfig() RuntimeConfig + func LoadRuntimeConfig(path string) (RuntimeConfig, error) + type RuntimeConfigFile = rt.RuntimeConfigFile + type RuntimeEnvironment = rt.RuntimeEnvironment + type RuntimeEnvironmentFile = rt.RuntimeEnvironmentFile + type RuntimeSettings = rt.RuntimeSettings + type RuntimeSettingsFile = rt.RuntimeSettingsFile + type SQLCondition = rt.SQLCondition + type SQLExecutor = rt.SQLExecutor + type SQLFetchSizeApplier = rt.SQLFetchSizeApplier + type SQLGuardRule = rt.SQLGuardRule + type SQLGuardRuleFunc = rt.SQLGuardRuleFunc + type SQLInjector = rt.SQLInjector + type SQLInjectorFunc = rt.SQLInjectorFunc + type SQLObservation = rt.SQLObservation + type SQLPreparer = rt.SQLPreparer + type SQLProvider = rt.SQLProvider + type SQLProviderDescriptor = rt.SQLProviderDescriptor + func NewSQLProviderDescriptor(name string, provider SQLProvider, options ...SQLProviderOption) SQLProviderDescriptor + type SQLProviderOption = rt.SQLProviderOption + func WithSQLProviderCommands(commands ...StatementCommand) SQLProviderOption + func WithSQLProviderStatements(statements ...string) SQLProviderOption + type SQLSession = rt.SQLSession + func NewSQLSession(registry *Registry, executor SQLExecutor, dialect Dialect, ...) (*SQLSession, error) + type SQLSessionFactory = rt.SQLSessionFactory + func NewSQLSessionFactory(registry *Registry, db *sql.DB, dialect Dialect, options ...SQLSessionOption) (*SQLSessionFactory, error) + type SQLSessionOption = rt.SQLSessionOption + func WithConfiguration(config Configuration) SQLSessionOption + func WithIdentifierGenerator(generator IdentifierGenerator) SQLSessionOption + func WithInterceptors(interceptors ...StatementInterceptor) SQLSessionOption + func WithLocalCache(enabled bool) SQLSessionOption + func WithMetaObjectHandler(handler MetaObjectHandler) SQLSessionOption + func WithParameterHandler(handler ParameterHandler) SQLSessionOption + func WithParameterHandlerMiddleware(middleware ...ParameterHandlerMiddleware) SQLSessionOption + func WithPreparedStatementCacheSize(maxEntries int) SQLSessionOption + func WithResultSetHandler(handler ResultSetHandler) SQLSessionOption + func WithResultSetHandlerMiddleware(middleware ...ResultSetHandlerMiddleware) SQLSessionOption + func WithStatementExecutor(executor StatementExecutor) SQLSessionOption + func WithStatementExecutorMiddleware(middleware ...StatementExecutorMiddleware) SQLSessionOption + func WithStatementHandler(handler StatementHandler) SQLSessionOption + func WithStatementHandlerMiddleware(middleware ...StatementHandlerMiddleware) SQLSessionOption + func WithTypeHandler(name string, handler TypeHandler) SQLSessionOption + func WithTypeHandlers(handlers map[string]TypeHandler) SQLSessionOption + type SQLSource = rt.SQLSource + func BuildUpsertSQL(dialect Dialect, spec UpsertSpec) (SQLSource, error) + type SQLStatementOptionsApplier = rt.SQLStatementOptionsApplier + type SQLTransactionFactory = rt.SQLTransactionFactory + func NewSQLTransactionFactory() SQLTransactionFactory + type SelectKeyMeta = rt.SelectKeyMeta + type SelectKeyOrder = rt.SelectKeyOrder + type SelectSQLBuilder = rt.SelectSQLBuilder + func NewSelectSQLBuilder() *SelectSQLBuilder + type Service = rt.Service[T, ID] + func NewService[T any, ID any](mapper *BaseMapper[T, ID]) (*Service[T, ID], error) + type Session = rt.Session + type SessionOpenFunc = rt.SessionOpenFunc + type StatementCachePolicy = rt.StatementCachePolicy + type StatementCallSession = rt.StatementCallSession + type StatementCommand = rt.StatementCommand + type StatementExecutor = rt.StatementExecutor + type StatementExecutorMiddleware = rt.StatementExecutorMiddleware + type StatementExecutorMiddlewareFunc = rt.StatementExecutorMiddlewareFunc + type StatementHandler = rt.StatementHandler + type StatementHandlerMiddleware = rt.StatementHandlerMiddleware + type StatementHandlerMiddlewareFunc = rt.StatementHandlerMiddlewareFunc + type StatementInterceptor = rt.StatementInterceptor + func NewBlockAttackInterceptor() StatementInterceptor + func NewDataPermissionInterceptor(provider DataPermissionProvider) StatementInterceptor + func NewDynamicTableInterceptor(tables map[string]string) StatementInterceptor + func NewEntitySemanticInterceptor(registry *Registry, options ...EntitySemanticInterceptorOption) StatementInterceptor + func NewIllegalSQLInterceptor(options ...IllegalSQLOption) StatementInterceptor + func NewPaginationInterceptor() StatementInterceptor + func NewReadOnlyInterceptor() StatementInterceptor + func NewSQLGuardInterceptor(rules ...SQLGuardRule) StatementInterceptor + func NewSQLObserverInterceptor(observe func(context.Context, SQLObservation) error) StatementInterceptor + func NewTenantInterceptor(column string, value any) StatementInterceptor + type StatementInterceptorFunc = rt.StatementInterceptorFunc + type StatementInvocation = rt.StatementInvocation + type StatementMeta = rt.StatementMeta + type StatementNotFoundError = rt.StatementNotFoundError + type StatementOptions = rt.StatementOptions + type StatementRuntime = rt.StatementRuntime + type StatementSession = rt.StatementSession + type StatementSource = rt.StatementSource + type StatementType = rt.StatementType + type TooManyResultsError = rt.TooManyResultsError + type Transaction = rt.Transaction + type TransactionFactory = rt.TransactionFactory + type TransactionSource = rt.TransactionSource + type TxSession = rt.TxSession + type TypeAlias = rt.TypeAlias + type TypeHandler = rt.TypeHandler + func NewBoolTypeHandler() TypeHandler + func NewBytesTypeHandler() TypeHandler + func NewDecimalTypeHandler() TypeHandler + func NewJSONTypeHandler() TypeHandler + func NewStringTypeHandler() TypeHandler + func NewTimeTypeHandler() TypeHandler + func NewTypeHandler(toDB func(context.Context, any) (any, error), ...) TypeHandler + type TypeHandlerAdapter = rt.TypeHandlerAdapter + type TypeHandlerRef = rt.TypeHandlerRef + type TypeHandlerRowScanner = rt.TypeHandlerRowScanner + type TypeHandlerRowScannerFunc = rt.TypeHandlerRowScannerFunc + type TypedConditionTarget = rt.TypedConditionTarget[T, W] + type TypedField = rt.TypedField[T, V] + func NewTypedField[T any, V any](column string) TypedField[T, V] + type TypedFieldRef = rt.TypedFieldRef[T] + type UpdateChain = rt.UpdateChain[T, ID] + type UpdateSQLBuilder = rt.UpdateSQLBuilder + func NewUpdateSQLBuilder() *UpdateSQLBuilder + type UpdateWrapper = rt.UpdateWrapper[T] + func NewUpdateWrapper[T any]() *UpdateWrapper[T] + func SetDecrByTypedValueIf[T any, V any](condition bool, w *UpdateWrapper[T], field TypedField[T, V], value V) *UpdateWrapper[T] + func SetDecrByTypedValue[T any, V any](w *UpdateWrapper[T], field TypedField[T, V], value V) *UpdateWrapper[T] + func SetIncrByTypedValueIf[T any, V any](condition bool, w *UpdateWrapper[T], field TypedField[T, V], value V) *UpdateWrapper[T] + func SetIncrByTypedValue[T any, V any](w *UpdateWrapper[T], field TypedField[T, V], value V) *UpdateWrapper[T] + func SetTypedValueIf[T any, V any](condition bool, w *UpdateWrapper[T], field TypedField[T, V], value V) *UpdateWrapper[T] + func SetTypedValue[T any, V any](w *UpdateWrapper[T], field TypedField[T, V], value V) *UpdateWrapper[T] + type UpsertSpec = rt.UpsertSpec