package main import ( "fmt" "git.sxidc.com/service-supports/ds-sdk/sql" ) func main() { sqlMapping, err := sql.ParseSqlMappingTag(&Class{}) if err != nil { panic(err) } printSqlMapping(sqlMapping) } func printSqlMapping(sqlMapping *sql.Mapping) { for fieldName, mappingElement := range sqlMapping.MappingElement { fmt.Println("---------------------------------------") fmt.Println("Field Name: " + fieldName) switch element := mappingElement.(type) { case *sql.Mapping: fmt.Println("Type: Struct") printSqlMapping(element) case *sql.MappingColumn: fmt.Println("Type: Field") fmt.Printf("Name: \"%s\"\n", element.Name) fmt.Printf("IsKey: %v\n", element.IsKey) fmt.Printf("CanUpdate: %v\n", element.CanUpdate) fmt.Printf("CanUpdateClear: %v\n", element.CanUpdateClear) fmt.Printf("AESKey: \"%s\"\n", element.AESKey) fmt.Printf("JoinWith: \"%s\"\n", element.JoinWith) default: fmt.Println("类型错误") } fmt.Println("---------------------------------------") } }