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