Documentation
¶
Index ¶
- func As(table any, alias string) builder.TableClause
- func GetRandomInt(num int) int
- func Null[T any](arg T) sql.Null[T]
- func Ptr[T any](arg T) *T
- type Config
- type ConfigCluster
- type Database
- func (db *Database) AddSelect(columns ...string) *Database
- func (db *Database) Avg(column string) (res float64, err error)
- func (db *Database) Begin() (tx TxHandler, err error)
- func (db *Database) Bind(obj any) (err error)
- func (db *Database) Count() (res int64, err error)
- func (db *Database) CrossJoin(table any, argOrFn ...any) *Database
- func (db *Database) Decrement(column string, steps ...any) (affectedRows int64, err error)
- func (db *Database) DecrementEach(data map[string]any) (affectedRows int64, err error)
- func (db *Database) Delete(obj any, mustColumn ...string) (affectedRows int64, err error)
- func (db *Database) DoesntExist(bind ...any) (b bool, err error)
- func (db *Database) Exists(bind ...any) (b bool, err error)
- func (db *Database) Find(id int) (res map[string]any, err error)
- func (db *Database) First(columns ...string) (res map[string]any, err error)
- func (db *Database) Get(columns ...string) (res []map[string]any, err error)
- func (db *Database) GroupBy(columns ...string) *Database
- func (db *Database) GroupByRaw(columns ...string) *Database
- func (db *Database) Having(column any, argsOrClosure ...any) *Database
- func (db *Database) HavingRaw(raw string, argsOrClosure ...any) *Database
- func (db *Database) Increment(column string, steps ...any) (affectedRows int64, err error)
- func (db *Database) IncrementEach(data map[string]any) (affectedRows int64, err error)
- func (db *Database) Insert(obj any, mustColumn ...string) (affectedRows int64, err error)
- func (db *Database) InsertGetId(obj any, mustColumn ...string) (lastInsertId int64, err error)
- func (db *Database) InsertOrIgnore(obj any, mustColumn ...string) (affectedRows int64, err error)
- func (db *Database) Join(table any, argOrFn ...any) *Database
- func (db *Database) JoinOn(table any, fn func(on builder.IJoinOn)) *Database
- func (db *Database) LeftJoin(table any, argOrFn ...any) *Database
- func (db *Database) Limit(limit int) *Database
- func (db *Database) List(column string) (res []any, err error)
- func (db *Database) ListTo(column string, obj any) (err error)
- func (db *Database) LockForUpdate() *Database
- func (db *Database) Max(column string) (res float64, err error)
- func (db *Database) MaxTo(column string, obj any) (err error)
- func (db *Database) Min(column string) (res float64, err error)
- func (db *Database) MinTo(column string, obj any) (err error)
- func (db *Database) Offset(offset int) *Database
- func (db *Database) OrHaving(column any, argsOrClosure ...any) *Database
- func (db *Database) OrHavingRaw(raw string, argsOrClosure ...any) *Database
- func (db *Database) OrWhere(column any, argsOrclosure ...any) *Database
- func (db *Database) OrWhereBetween(column string, value any) *Database
- func (db *Database) OrWhereBuilder(column string, operation string, sub builder.IBuilder) *Database
- func (db *Database) OrWhereIn(column string, value any) *Database
- func (db *Database) OrWhereLike(column, value string) *Database
- func (db *Database) OrWhereNested(handler builder.WhereNestedHandler) *Database
- func (db *Database) OrWhereNull(column string) *Database
- func (db *Database) OrWhereRaw(raw string, bindings ...any) *Database
- func (db *Database) OrWhereSub(column string, operation string, sub builder.WhereSubHandler) *Database
- func (db *Database) OrderBy(column string, directions ...string) *Database
- func (db *Database) OrderByAsc(column string) *Database
- func (db *Database) OrderByDesc(column string) *Database
- func (db *Database) OrderByRaw(column string) *Database
- func (db *Database) Page(num int) *Database
- func (db *Database) Paginate(obj ...any) (result Pagination, err error)
- func (db *Database) Pluck(column string, keyColumn string) (res map[any]any, err error)
- func (db *Database) PluckTo(column string, keyColumn string, obj any) (err error)
- func (db *Database) Replace(obj any, mustColumn ...string) (affectedRows int64, err error)
- func (db *Database) RightJoin(table any, argOrFn ...any) *Database
- func (db *Database) Select(columns ...string) *Database
- func (db *Database) SelectRaw(raw string, binds ...any) *Database
- func (db *Database) SharedLock() *Database
- func (db *Database) Sum(column string) (res float64, err error)
- func (db *Database) SumTo(column string, obj any) (err error)
- func (db *Database) Table(table any, alias ...string) *Database
- func (db *Database) To(obj any, mustColumn ...string) (err error)
- func (db *Database) ToSql() (sql4prepare string, values []any, err error)
- func (db *Database) ToSqlAggregate(function, column string) (sql4prepare string, values []any, err error)
- func (db *Database) ToSqlDelete(obj any, mustColumn ...string) (sqlSegment string, binds []any, err error)
- func (db *Database) ToSqlExists(bind ...any) (sql4prepare string, values []any, err error)
- func (db *Database) ToSqlIncDec(symbol string, data map[string]any) (sql4prepare string, values []any, err error)
- func (db *Database) ToSqlInsert(obj any, args ...builder.TypeToSqlInsertCase) (sqlSegment string, binds []any, err error)
- func (db *Database) ToSqlJoin() (sql4prepare string, binds []any, err error)
- func (db *Database) ToSqlLimitOffset() (sqlSegment string, binds []any)
- func (db *Database) ToSqlOrderBy() (sql4prepare string)
- func (db *Database) ToSqlSelect() (sql4prepare string, binds []any)
- func (db *Database) ToSqlTable() (sql4prepare string, values []any, err error)
- func (db *Database) ToSqlTo(obj any, mustColumn ...string) (sql4prepare string, binds []any, err error)
- func (db *Database) ToSqlUpdate(obj any, mustColumn ...string) (sqlSegment string, binds []any, err error)
- func (db *Database) ToSqlWhere() (sql4prepare string, values []any, err error)
- func (db *Database) Transaction(closure ...func(TxHandler) error) error
- func (db *Database) Truncate(obj ...any) (affectedRows int64, err error)
- func (db *Database) Union(b ...builder.IBuilder) *Database
- func (db *Database) UnionAll(b ...builder.IBuilder) *Database
- func (db *Database) Update(obj any, mustColumn ...string) (affectedRows int64, err error)
- func (db *Database) UpdateOrInsert(conditions, data map[string]any) (affectedRows int64, err error)
- func (db *Database) Upsert(obj any, onDuplicateKeys, updateFields []string, mustColumn ...string) (affectedRows int64, err error)
- func (db *Database) Value(column string) (res any, err error)
- func (db *Database) ValueTo(column string, obj any) (err error)
- func (db *Database) Where(column any, argsOrclosure ...any) *Database
- func (db *Database) WhereBetween(column string, value any) *Database
- func (db *Database) WhereBuilder(column string, operation string, sub builder.IBuilder) *Database
- func (db *Database) WhereExists(clause builder.IBuilder)
- func (db *Database) WhereIn(column string, value any) *Database
- func (db *Database) WhereLike(column, value string) *Database
- func (db *Database) WhereNested(handler builder.WhereNestedHandler) *Database
- func (db *Database) WhereNot(column any, args ...any) *Database
- func (db *Database) WhereNull(column string) *Database
- func (db *Database) WhereRaw(raw string, bindings ...any) *Database
- func (db *Database) WhereSub(column string, operation string, sub builder.WhereSubHandler) *Database
- type Engin
- func (s *Engin) Begin() (err error)
- func (s *Engin) Commit() (err error)
- func (s *Engin) Exec(query string, args ...any) (sql.Result, error)
- func (s *Engin) LastSql() SqlItem
- func (s *Engin) Log(sqls string, bindings ...any)
- func (s *Engin) Query(query string, args ...any) (rows *sql.Rows, err error)
- func (s *Engin) QueryRow(query string, args ...any) *sql.Row
- func (s *Engin) QueryTo(bind any, query string, args ...any) (err error)
- func (s *Engin) Rollback() (err error)
- func (s *Engin) RollbackTo(name any) (err error)
- func (s *Engin) SavePoint(name any) (err error)
- func (s *Engin) Transaction(closure ...func(*Engin) error) (err error)
- type GoRose
- type Pagination
- type SqlItem
- type TxHandler
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetRandomInt ¶
Types ¶
type ConfigCluster ¶
type Database ¶
func NewDatabase ¶
func (*Database) DecrementEach ¶
func (*Database) GroupByRaw ¶
func (*Database) IncrementEach ¶
func (*Database) InsertGetId ¶
InsertGetId 插入数据,获取并自增id
参考 https://laravel.com/docs/10.x/queries#auto-incrementing-ids
func (*Database) InsertOrIgnore ¶
InsertOrIgnore 插入数据,忽略错误。
func (*Database) LockForUpdate ¶
LockForUpdate 4 select ... for update
func (*Database) OrHavingRaw ¶
func (*Database) OrWhereBetween ¶
func (*Database) OrWhereBuilder ¶
func (*Database) OrWhereLike ¶
func (*Database) OrWhereNested ¶
func (db *Database) OrWhereNested(handler builder.WhereNestedHandler) *Database
func (*Database) OrWhereNull ¶
func (*Database) OrWhereSub ¶
func (*Database) OrderByAsc ¶
func (*Database) OrderByDesc ¶
func (*Database) OrderByRaw ¶
func (*Database) Select ¶
Select specifies the columns to retrieve. Select("a","b") Select("a.id as aid","b.id bid") Select("id,nickname name")
func (*Database) SharedLock ¶
SharedLock 4 select ... locking in share mode
func (*Database) ToSqlAggregate ¶
func (*Database) ToSqlDelete ¶
func (*Database) ToSqlExists ¶
func (*Database) ToSqlIncDec ¶
func (db *Database) ToSqlIncDec(symbol string, data map[string]any) (sql4prepare string, values []any, err error)
ToSqlIncDec
symbol: +/- data: {count: 2} => count = count + 2
func (*Database) ToSqlInsert ¶
func (*Database) ToSqlLimitOffset ¶
func (*Database) ToSqlOrderBy ¶
func (*Database) ToSqlSelect ¶
func (*Database) ToSqlTable ¶
func (*Database) ToSqlUpdate ¶
func (*Database) ToSqlWhere ¶
func (*Database) Transaction ¶
func (*Database) UpdateOrInsert ¶
UpdateOrInsert 更新数据,如果存在则更新,否则插入。
func (*Database) Upsert ¶
func (db *Database) Upsert(obj any, onDuplicateKeys, updateFields []string, mustColumn ...string) (affectedRows int64, err error)
Upsert 插入数据,如果存在则更新。
参考 https://laravel.com/docs/10.x/queries#upserts 如果是mysql,则不需要填写第二个参数,MySQL会自动处理唯一索引和主键冲突问题
eg: Upsert(obj, []string{"id"}, []string{"age"}, "id", "name")
func (*Database) WhereBetween ¶
func (*Database) WhereBuilder ¶
func (*Database) WhereExists ¶
func (*Database) WhereNested ¶
func (db *Database) WhereNested(handler builder.WhereNestedHandler) *Database
type Engin ¶
type Engin struct { *GoRose // contains filtered or unexported fields }
func (*Engin) RollbackTo ¶
type GoRose ¶
type GoRose struct { Cluster *ConfigCluster // contains filtered or unexported fields }
func Open ¶
Open db examples
Open("mysql", "root:root@tcp(localhost:3306)/test?charset=utf8mb4&parseTime=true") Open(&Config{...}) Open(&ConfigCluster{...})
func (*GoRose) NewDatabase ¶
Source Files
¶
Click to show internal directories.
Click to hide internal directories.