|
|
@@ -15,13 +15,14 @@ import (
|
|
|
)
|
|
|
|
|
|
type Class struct {
|
|
|
- ID string
|
|
|
- Name string `sqlmapping:"updateClear;aes:@MKU^AHYCN$:j76J<TAHCVD#$XZSWQ@L;" sqlresult:"aes:@MKU^AHYCN$:j76J<TAHCVD#$XZSWQ@L;"`
|
|
|
- StudentNum int `sqlmapping:"column:student_num;notUpdate;" sqlresult:"column:student_num_alias"`
|
|
|
- GraduatedTime time.Time
|
|
|
- CreatedTime *time.Time
|
|
|
- LastUpdatedTime time.Time
|
|
|
- Ignored string `sqlmapping:"-" sqlresult:"-"`
|
|
|
+ ID string
|
|
|
+ Name string `sqlmapping:"updateClear;aes:@MKU^AHYCN$:j76J<TAHCVD#$XZSWQ@L;" sqlresult:"aes:@MKU^AHYCN$:j76J<TAHCVD#$XZSWQ@L;"`
|
|
|
+ StudentNum int `sqlmapping:"column:student_num;notUpdate;" sqlresult:"column:student_num_alias"`
|
|
|
+ GraduatedTime time.Time
|
|
|
+ CreatedTime *time.Time
|
|
|
+ LastUpdatedTime time.Time
|
|
|
+ Ignored string `sqlmapping:"-" sqlresult:"-"`
|
|
|
+ GraduatedTimeTest string `sqlmapping:"-" sqlresult:"column:graduated_time;parseTime:2006-01-02 15:04:05"`
|
|
|
}
|
|
|
|
|
|
const (
|
|
|
@@ -382,6 +383,64 @@ func TestSqlMapping(t *testing.T) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+func TestSqlResult(t *testing.T) {
|
|
|
+ sqlResult, err := sql.ParseSqlResult(&Class{})
|
|
|
+ if err != nil {
|
|
|
+ t.Fatal(err)
|
|
|
+ }
|
|
|
+
|
|
|
+ for fieldName, sqlColumn := range sqlResult.ColumnMap {
|
|
|
+ if fieldName != "ID" && fieldName != "Name" &&
|
|
|
+ fieldName != "StudentNum" && fieldName != "GraduatedTime" &&
|
|
|
+ fieldName != "CreatedTime" && fieldName != "LastUpdatedTime" &&
|
|
|
+ fieldName != "GraduatedTimeTest" {
|
|
|
+ t.Fatal("字段名不正确")
|
|
|
+ }
|
|
|
+
|
|
|
+ if sqlColumn.Name != "id" && sqlColumn.Name != "name" &&
|
|
|
+ sqlColumn.Name != "student_num_alias" && sqlColumn.Name != "graduated_time" &&
|
|
|
+ sqlColumn.Name != "created_time" && sqlColumn.Name != "last_updated_time" &&
|
|
|
+ sqlColumn.Name != "graduated_time_test" {
|
|
|
+ t.Fatal("列名不正确")
|
|
|
+ }
|
|
|
+
|
|
|
+ if sqlColumn.Name != "student_num_alias" &&
|
|
|
+ sqlColumn.Name != "graduated_time" &&
|
|
|
+ sqlColumn.Name != strcase.ToSnake(fieldName) {
|
|
|
+ t.Fatal("列名不正确")
|
|
|
+ }
|
|
|
+
|
|
|
+ if sqlColumn.Name == "id" {
|
|
|
+ if strutils.IsStringNotEmpty(sqlColumn.ParseTime) ||
|
|
|
+ strutils.IsStringNotEmpty(sqlColumn.AESKey) {
|
|
|
+ t.Fatal("id字段Tag不正确")
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if sqlColumn.Name == "name" {
|
|
|
+ if strutils.IsStringNotEmpty(sqlColumn.ParseTime) ||
|
|
|
+ strutils.IsStringEmpty(sqlColumn.AESKey) ||
|
|
|
+ sqlColumn.AESKey != "@MKU^AHYCN$:j76J<TAHCVD#$XZSWQ@L" {
|
|
|
+ t.Fatal("name字段Tag不正确")
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if sqlColumn.Name == "student_num" {
|
|
|
+ if strutils.IsStringNotEmpty(sqlColumn.ParseTime) ||
|
|
|
+ strutils.IsStringNotEmpty(sqlColumn.AESKey) {
|
|
|
+ t.Fatal("student_num字段Tag不正确")
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if sqlColumn.Name == "graduate_time" {
|
|
|
+ if strutils.IsStringEmpty(sqlColumn.ParseTime) ||
|
|
|
+ strutils.IsStringNotEmpty(sqlColumn.AESKey) {
|
|
|
+ t.Fatal("graduate_time字段Tag不正确")
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
func TestSql(t *testing.T) {
|
|
|
classID := strutils.SimpleUUID()
|
|
|
className := strutils.SimpleUUID()
|