package
4.1.0
Repository: https://github.com/issue9/orm.git
Documentation: pkg.go.dev

# Functions

Column 导出 rows 中某列的所有或一行数据 once 若为 true,则只导出第一条数据。 colName 指定需要导出的列名,若指定了不存在的名称,返回 error。.
ColumnString 导出 rows 中某列的所有或是一行数据 功能等同于 Columns() 函数,但是返回值是 []string 而不是 []interface{}。.
Map 将 rows 中的所有或一行数据导出到 map[string]interface{} 中 若 once 值为 true,则只导出第一条数据。 NOTE: 每个数据库对数据的处理方式是不一样的,比如如下语句 SELECT COUNT(*) as cnt FROM tbl1 将使用 Map() 导出到 []map[string]interface{} 中时, 在 mysql 中,cnt 有可能被处理成一个 []byte (打印输出时,像一个数组,容易造成困惑), 而在 sqlite3 就有可能是个 int。.
MapString 将 rows 中的数据导出到一个 map[string]string 中 功能上与 Map() 上一样,但 map 的键值固定为 string。.
Object 将 rows 中的数据导出到 obj 中 strict 严格模式,如果为 true,不会将 null 转换成当前类型的空值。 在多表查询的情况下,如果有空记录,则 strict 模式下,可能会出错(nil 无法转换)。 obj 只有在类型为 slice 指针时,才有可能随着 rows 的长度变化, 否则其长度是固定的,若查询结果为空值,则不会对 obj 的内容做任何更改。 可以为以下几种类型: struct 指针: 将 rows 中的第一条记录转换成 obj 对象。 struct array 指针或是 struct slice: 将 rows 中的 len(obj) 条记录导出到 obj 对象中;若 rows 中的数量不足, 则 obj 尾部的元素保存原来的值。 struct slice 指针: 将 rows 中的所有记录依次写入 obj 中。若 rows 中的记录比 len(obj) 要长, 则会增长 obj 的长度以适应 rows 的所有记录。 struct 可以在 struct tag 中用 name 指定字段名称, 或是以减号(-)开头表示忽略该字段的导出: type user struct { ID int `orm:"name(id)"` // 对应 rows 中的 id 字段,而不是 ID。 age int `orm:"name(Age)"` // 小写不会被导出。 Count int `orm:"-"` // 不会匹配与该字段对应的列。 } 第一个参数用于表示有多少数据被正确导入到 obj 中.

# Constants

Tag 表示 struct tag 的名称.

# Variables

ErrInvalidKind 表示当前功能对数据的 Kind 值有特殊需求.

# Interfaces

AfterFetcher 在数据从数据库拉取之后执行的操作.