数据结构
查询结果的数据结构如下:
type Value = *gvar.Var // 返回数据表记录值
type Record map[string]Value // 返回数据表记录键值对
type Result []Record // 返回数据表记录列表
Value/Record/Result
用于ORM操作的结果数据类型。Result
表示数据表记录列表,Record
表示一条数据表记录,Value
表示记录中的一条键值数据。Value
是*gvar.Var
类型的别名类型,方便于后续的数据类型转换。
Record
记录处理
接口文档: https://godoc.org/github.com/gogf/gf/database/gdb
...
由于数据库结果集转
struct
的底层是依靠gconv.Struct
方法实现的,因此如果想要实现自定义的属性转换,以及更详细的映射规则说明,请参考【gconv.Struct】章节。
Result
结果集处理
Result/Record
数据类型根据数据结果集操作的需要,往往需要根据记录中特定的字段作为键名进行数据检索,因此它包含多个用于转换Map/List
的方法,同时也包含了常用数据结构JSON/XML
的转换方法。
...
由于方法比较简单,这里便不再举例说明。需要注意的是两个方法Record.Map
及Result.List
,这两个方法也是使用比较频繁的方法,用以将ORM
查询结果信息转换为可做展示的数据类型。由于结果集字段值底层为[]byte
类型,虽然使用了新的Value
类型做了封装,并且也提供了数十种常见的类型转换方法(具体请阅读【gvar通用动态变量】章节),但是大多数时候需要直接将结果Result
或者Record
直接作为json
或者xml
数据结构返回,就需要做转换才行。
...