Browse Source

修改README

yjp 1 year ago
parent
commit
86f1ff6934
1 changed files with 31 additions and 0 deletions
  1. 31 0
      README.md

+ 31 - 0
README.md

@@ -266,6 +266,37 @@ column和notUpdate两个sqlmapping Tag,column指定了该字段对应的数据
 | updateClear | 允许将该列清空为零值                                                                    |
 | aes         | 进行aes加密并传递aes的密钥,密钥长度为32字节,不能包含';'                                            |
 
+### sqlresult Tag
+
+可以使用sqlresult Tag将查询结果转化到实体上,sqlresult Tag:
+
+```go
+type Class struct {
+    ID                string
+    Name              string
+    StudentNum        int    `sqlresult:"column:student_num"`
+    GraduatedTime     time.Time
+    CreatedTime       *time.Time
+    LastUpdatedTime   time.Time
+    Ignored           string `sqlresult:"-"`
+    GraduatedTimeTest string `sqlresult:"column:graduated_time;parseTime:2006-01-02 15:04:05"`
+	HasStudent        bool   `sqlresult:"column:student_num"`
+}
+```
+
+对StudentNum字段添加了'column' Tag,column指定了该字段对应的数据库列。Ignored字段则通过sqlresult的'-' Tag标定为不进行持久化的字段。
+GraduatedTimeTest字段通过添加'column'和'parseTime'两个Tag,将graduated_time格式化为规定的时间类型。HasStudent则通过将字段定义为bool类型,
+借用了sqlresult Tag的副作用,检查student_num列是否为零值来生成bool值
+
+下面是sqlresult Tag支持的所有Tag:
+
+| Tag         | 说明                                 |
+|-------------|------------------------------------|
+| -           | 忽略该字段,不进行持久化(不对应任何数据库表列)           |
+| column      | 显式指定该字段对应的数据库表列,如column:foo        |
+| parseTime   | 按照给定的时间格式化字符串格式化时间                 |
+| aes         | 进行aes加密并传递aes的密钥,密钥长度为32字节,不能包含';' |
+
 ### SQL语句执行
 
 sdk还提供了直接执行SQL语句的函数和方法,主要有两个:ExecuteRawSql和ExecuteSql。