|
|
@@ -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。
|