Skip to content

Commit

Permalink
docs: 更新文档中的链接
Browse files Browse the repository at this point in the history
  • Loading branch information
caixw committed Mar 28, 2024
1 parent 535eb0f commit fd5be34
Show file tree
Hide file tree
Showing 17 changed files with 46 additions and 46 deletions.
4 changes: 2 additions & 2 deletions core/builder.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ func (b *Builder) Quote(str string, l, r byte) *Builder {
return b.WBytes(l).WString(str).WBytes(r)
}

// QuoteKey 给 str 左右添加 QuoteLeft 和 QuoteRight 两个字符
// QuoteKey 给 str 左右添加 [QuoteLeft][QuoteRight] 两个字符
func (b *Builder) QuoteKey(str string) *Builder {
return b.Quote(str, QuoteLeft, QuoteRight)
}
Expand Down Expand Up @@ -94,7 +94,7 @@ func (b *Builder) Bytes() ([]byte, error) {
// Len 获取长度
func (b *Builder) Len() int { return b.buffer.Len() }

// Append 追加加一个 Builder 的内容
// Append 追加加一个 [Builder] 的内容
func (b *Builder) Append(v *Builder) *Builder {
if b.Err() != nil {
return b
Expand Down
14 changes: 7 additions & 7 deletions core/model.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@ type (

// ApplyModeler 加载数据模型
//
// 当一个对象实现此接口时,那么在将对象转换成 Model 类型时,
// 会调用 ApplyModel 方法,给予用户修改 Model 的机会。
// 当一个对象实现此接口时,那么在将对象转换成 [Model] 类型时,
// 会调用 ApplyModel 方法,给予用户修改 [Model] 的机会。
ApplyModeler interface {
ApplyModel(*Model) error
}
Expand Down Expand Up @@ -101,14 +101,14 @@ type (

// 目前支持的数据模型类别
//
// Table 表示为一张普通的数据表,默认的模型即为 Table;
// 如果实现了 Viewer 接口,则该模型改变视图类型,即 View。
// Table 表示为一张普通的数据表,默认的模型即为 [Table]
// 如果实现了 [Viewer] 接口,则该模型改变视图类型,即 [View]
//
// 两者的创建方式稍微有点不同:
// Table 类型创建时,会采用列、约束和索引等信息创建表;
// 而 View 创建时,只使用了 Viewer 接口返回的 Select
// 语句作为内容生成语句,像约束等信息,仅作为查询时的依据,
// 当然 select 语句中的列需要和 Columns 中的列要相对应,
// 当然 select 语句中的列需要和 [Columns] 中的列要相对应,
// 否则可能出错。
//
// 在视图类型中,唯一约束、主键约束、自增约束依然是可以定义的,
Expand All @@ -119,9 +119,9 @@ const (
View
)

// NewModel 初始化 Model
// NewModel 初始化 [Model]
//
// cap 表示列的数量,如果指定了,可以提前分配 Columns 字段的大小。
// cap 表示列的数量,如果指定了,可以提前分配 [Model.Columns] 字段的大小。
func NewModel(modelType ModelType, name string, cap int) *Model {
return &Model{
Name: name,
Expand Down
8 changes: 4 additions & 4 deletions core/primitive.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ import (
// TimeFormatLayout 时间如果需要转换成字符串采用此格式
const TimeFormatLayout = time.RFC3339

// 当前支持的 PrimitiveType 值
// 当前支持的 [PrimitiveType]
//
// 其中的 String 被设计成可以保存部分类型为 reflect.Interface 的数据结构,
// 其中的 [String] 被设计成可以保存部分类型为 [reflect.Interface] 的数据结构,
// 但是一个有限的集合,比如将一个 any 字段赋予 slice 类型的数,在保存时可会不被支持。
// 且在读取时,各个数据库略有不同,比如 mysql 返回 []byte,而其它数据一般返回 string。
const (
Expand Down Expand Up @@ -124,12 +124,12 @@ type PrimitiveTyper interface {

// PrimitiveType 表示 Go 对象在数据库中实际的存储方式
//
// PrimitiveType 由 Dialect.SQLType 转换成相应数据的实际类型。
// PrimitiveType 由 [Dialect.SQLType] 转换成相应数据的实际类型。
type PrimitiveType int

// GetPrimitiveType 获取 t 所关联的 PrimitiveType 值
//
// t.Kind 不能为 reflect.Ptr 否则将返回 Auto。
// t.Kind 不能为 [reflect.Ptr] 否则将返回 [Auto]
func GetPrimitiveType(t reflect.Type) PrimitiveType {
primitiveType, found := kinds[t.Kind()]
if found {
Expand Down
6 changes: 3 additions & 3 deletions core/stmt.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,16 @@ import (

// Stmt 实现自定义的 Stmt 实例
//
// 功能与 sql.Stmt 完全相同,但是实现了对 sql.NamedArgs 的支持。
// 功能与 sql.Stmt 完全相同,但是实现了对 [sql.NamedArgs] 的支持。
type Stmt struct {
*sql.Stmt
orders map[string]int
}

// NewStmt 声明 Stmt 实例
//
// 如果 orders 为空,则 Stmt 的表现和 sql.Stmt 是完全相同的,
// 如果不为空,则可以处理 sql.NamedArg 类型的参数。
// 如果 orders 为空,则 Stmt 的表现和 [sql.Stmt] 是完全相同的,
// 如果不为空,则可以处理 [sql.NamedArg] 类型的参数。
func NewStmt(stmt *sql.Stmt, orders map[string]int) *Stmt {
if len(orders) > 0 {
vals := make([]int, 0, len(orders))
Expand Down
2 changes: 1 addition & 1 deletion db.go
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ func (db *DB) LastInsertID(v TableNamer) (int64, error) { return lastInsertID(db

// Insert 插入数据
//
// NOTE: 若需一次性插入多条数据,请使用 tx.InsertMany()
// NOTE: 若需一次性插入多条数据,请使用 [Tx.InsertMany]
func (db *DB) Insert(v TableNamer) (sql.Result, error) { return insert(db, v) }

func (db *DB) Delete(v TableNamer) (sql.Result, error) { return del(db, v) }
Expand Down
2 changes: 1 addition & 1 deletion dialect/dialect.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
//
// SPDX-License-Identifier: MIT

// Package dialect 提供了部分数据库对 orm.Dialect 接口的实现
// Package dialect 提供了部分数据库对 [core.Dialect] 接口的实现
package dialect

import (
Expand Down
2 changes: 1 addition & 1 deletion dialect/mysql.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ var (
_ sqlbuilder.InsertDefaultValueHooker = &mysql{}
)

// Mysql 返回一个适配 mysql 的 Dialect 接口
// Mysql 返回一个适配 mysql 的 [core.Dialect] 接口
//
// 支持以下 options 属性
//
Expand Down
2 changes: 1 addition & 1 deletion dialect/postgres.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ type postgres struct {
base
}

// Postgres 返回一个适配 postgresql 的 Dialect 接口
// Postgres 返回一个适配 postgresql 的 [core.Dialect] 接口
func Postgres(driverName string) core.Dialect {
return &postgres{
base: newBase("postgres", driverName, '"', '"'),
Expand Down
2 changes: 1 addition & 1 deletion dialect/sqlite3.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ var (
_ sqlbuilder.AddConstraintStmtHooker = &sqlite3{}
)

// Sqlite3 返回一个适配 sqlite3 的 Dialect 接口
// Sqlite3 返回一个适配 sqlite3 的 [core.Dialect] 接口
//
// Options 可以接受以下参数:
// - rowid 可以是 rowid(false);rowid(true),rowid,其中只有 rowid(false) 等同于 without rowid
Expand Down
18 changes: 9 additions & 9 deletions doc.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@
// Package orm 一个简单小巧的 orm 实现方案
//
// 目前内置了对以下数据库的支持:
// 1. sqlite3: github.com/mattn/go-sqlite3
// 2. mysql: github.com/go-sql-driver/mysql
// 3. postgres: github.com/lib/pq
// - sqlite3: github.com/mattn/go-sqlite3
// - mysql: github.com/go-sql-driver/mysql
// - postgres: github.com/lib/pq
//
// 其它数据库,用户可以通过实现 Dialect 接口,来实现相应的支持。
// 其它数据库,用户可以通过实现 [Dialect] 接口,来实现相应的支持。
//
// 初始化:
//
Expand Down Expand Up @@ -54,7 +54,7 @@
// Group string `orm:"name(group)"`
// }
//
// // 通过 orm.ApplyModeler 接口,指定表的额外数据。若不需要,可不用实现该接口
// // 通过 [ApplyModeler] 接口,指定表的额外数据。若不需要,可不用实现该接口
// func(u *User) ApplyModel(m *core.Model) error {
// m.Name = "user"
// m.Options["engine"] = "innodb"
Expand Down Expand Up @@ -102,7 +102,7 @@
// ApplyModeler:
//
// 用于将一个对象转换成 Model 对象时执行的函数,给予用户修改 Model 的机会,
// 在 ApplyModeler 中可以修改任意模型的内容,所以也可以由 ApplyModeler 代替 struct tag 的操作。
// 在 [ApplyModeler] 中可以修改任意模型的内容,所以也可以由 ApplyModeler 代替 struct tag 的操作。
//
// 约束名:
//
Expand Down Expand Up @@ -158,7 +158,7 @@
//
// 事务:
//
// 默认的 DB 是不支持事务的,若需要事务支持,则需要调用 DB.Begin()
// 返回事务对象 Tx,当然并不是所有的数据库都支持事务操作的。
// Tx 拥有一组与 DB 相同的接口。
// 默认的 [DB] 是不支持事务的,若需要事务支持,则需要调用 [DB.Begin]
// 返回事务对象 [Tx],当然并不是所有的数据库都支持事务操作的。
// [Tx] 拥有一组与 [DB] 相同的接口。
package orm
2 changes: 1 addition & 1 deletion fetch/column.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ func Column(once bool, colName string, rows *sql.Rows) ([]any, error) {

// ColumnString 导出 rows 中某列的所有或是一行数据
//
// 功能等同于 Column() 函数,但是返回值是 []string 而不是 []interface{}。
// 功能等同于 [Column] 函数,但是返回值是 []string 而不是 []interface{}。
func ColumnString(once bool, colName string, rows *sql.Rows) ([]string, error) {
cols, err := rows.Columns()
if err != nil {
Expand Down
4 changes: 2 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
module github.com/issue9/orm/v5

require (
github.com/go-sql-driver/mysql v1.8.0
github.com/go-sql-driver/mysql v1.8.1
github.com/issue9/assert/v4 v4.1.1
github.com/issue9/conv v1.3.5
github.com/issue9/errwrap v0.3.2
github.com/issue9/sliceutil v0.15.1
github.com/issue9/sliceutil v0.16.0
github.com/lib/pq v1.10.9
github.com/mattn/go-sqlite3 v1.14.22
github.com/shopspring/decimal v1.3.1
Expand Down
6 changes: 4 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkp
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
github.com/go-sql-driver/mysql v1.8.0 h1:UtktXaU2Nb64z/pLiGIxY4431SJ4/dR5cjMmlVHgnT4=
github.com/go-sql-driver/mysql v1.8.0/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg=
github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y=
github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg=
github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26 h1:Xim43kblpZXfIBQsbuBVKCudVG457BR2GZFIz3uw3hQ=
github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26/go.mod h1:dDKJzRmX4S37WGHujM7tX//fmj1uioxKzKxz3lo4HJo=
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
Expand All @@ -16,8 +18,8 @@ github.com/issue9/conv v1.3.5 h1:UWeA+Zqp5vjNDLrmhLhaXPjS1hL8gh4quX6Shk5njKQ=
github.com/issue9/conv v1.3.5/go.mod h1:lkZYMyrmxy+HK//N4eLmwUl9mCwj0zgeTjnxgl/w7hM=
github.com/issue9/errwrap v0.3.2 h1:7KEme9Pfe75M+sIMcPCn/DV90wjnOcRbO4DXVAHj3Fw=
github.com/issue9/errwrap v0.3.2/go.mod h1:KcCLuUGiffjooLCUjL89r1cyO8/HT/VRcQrneO53N3A=
github.com/issue9/sliceutil v0.15.1 h1:mV1VlQSO5E8sh2ab6pypLg7TdgGZlDb30E8quli01xY=
github.com/issue9/sliceutil v0.15.1/go.mod h1:ldun6sT4/bOJxuMtOXhtc6P7GCwE7L+avV86HNks7qk=
github.com/issue9/sliceutil v0.16.0 h1:+gyumWF126mprQLiUi14s6SAeucMg1vuyPEh66VTtC8=
github.com/issue9/sliceutil v0.16.0/go.mod h1:ldun6sT4/bOJxuMtOXhtc6P7GCwE7L+avV86HNks7qk=
github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=
github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ=
Expand Down
8 changes: 3 additions & 5 deletions types.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import (
type (
// Unix 表示 Unix 时间戳的数据样式
//
// 表现为 time.Time,但是保存数据库时,以 unix 时间戳的形式保存。
// 表现为 [time.Time],但是保存数据库时,以 unix 时间戳的形式保存。
Unix = types.Unix

Rat = types.Rat
Expand All @@ -40,7 +40,7 @@ type (
BeforeInsert() error
}

// ModelEngine 针对操作 TableNamer 接口数据的接口
// ModelEngine 针对操作 [TableNamer] 的操作接口
ModelEngine interface {
// LastInsertID 插入一条数据并返回其自增 ID
//
Expand Down Expand Up @@ -112,6 +112,4 @@ type (
func NowUnix() Unix { return Unix{Time: time.Now()} }

// NowNullTime 返回当前时间
func NowNullTime() sql.NullTime {
return sql.NullTime{Time: time.Now(), Valid: true}
}
func NowNullTime() sql.NullTime { return sql.NullTime{Time: time.Now(), Valid: true} }
6 changes: 3 additions & 3 deletions types/decimal.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,14 @@ type Decimal struct {
Valid bool
}

// FloatDecimal 从浮点数还原 Decimal 对象
// FloatDecimal 从浮点数还原 [Decimal] 对象
//
// precision 表示输出的精度。
func FloatDecimal(f float64, precision int32) Decimal {
return Decimal{Decimal: decimal.NewFromFloat(f), Precision: precision, Valid: true}
}

// StringDecimal 从字符串还原 Decimal 对象
// StringDecimal 从字符串还原 [Decimal] 对象
//
// precision 表示输出的精度。
func StringDecimal(s string, precision int32) (Decimal, error) {
Expand All @@ -39,7 +39,7 @@ func StringDecimal(s string, precision int32) (Decimal, error) {
return Decimal{Decimal: d, Precision: precision, Valid: true}, nil
}

// StringDecimalWithPrecision 从字符串还原 Decimal 对象
// StringDecimalWithPrecision 从字符串还原 [Decimal] 对象
//
// 输出精度从 s 获取,如果 s 不包含小数位,则小数长度为 0
func StringDecimalWithPrecision(s string) (Decimal, error) {
Expand Down
4 changes: 2 additions & 2 deletions types/rat.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import (

// Rat 有理数
//
// 这是对 math/big.Rat 的扩展,提供了 orm 需要的接口支持。
// 这是对 [big.Rat] 的扩展,提供了 orm 需要的接口支持。
//
// 在数据库中以分数的形式保存至字符串类型的列,所以需要指定长度。
type Rat struct {
Expand Down Expand Up @@ -64,7 +64,7 @@ func (n Rat) Value() (driver.Value, error) {
return n.Rat().String(), nil
}

// Rat 返回标准库中 math/big.Rat 的实例
// Rat 返回标准库中 [big.Rat] 的实例
func (n Rat) Rat() *big.Rat { return n.rat }

func (n Rat) PrimitiveType() core.PrimitiveType { return core.String }
Expand Down
2 changes: 1 addition & 1 deletion types/unix.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import (
"github.com/issue9/orm/v5/core"
)

// Unix 以 unix 时间戳保存的 time.Time 数据格式
// Unix 以 unix 时间戳保存的 [time.Time] 数据格式
type Unix struct {
time.Time
Valid bool
Expand Down

0 comments on commit fd5be34

Please sign in to comment.