sql_mapping.go 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package main
  2. import (
  3. "fmt"
  4. "git.sxidc.com/service-supports/ds-sdk/sql"
  5. )
  6. func main() {
  7. sqlMapping, err := sql.ParseSqlMappingTag(&Class{})
  8. if err != nil {
  9. panic(err)
  10. }
  11. printSqlMapping(sqlMapping)
  12. }
  13. func printSqlMapping(sqlMapping *sql.Mapping) {
  14. for fieldName, mappingElement := range sqlMapping.MappingElement {
  15. fmt.Println("---------------------------------------")
  16. fmt.Println("Field Name: " + fieldName)
  17. switch element := mappingElement.(type) {
  18. case *sql.Mapping:
  19. fmt.Println("Type: Struct")
  20. printSqlMapping(element)
  21. case *sql.MappingColumn:
  22. fmt.Println("Type: Field")
  23. fmt.Printf("Name: \"%s\"\n", element.Name)
  24. fmt.Printf("IsKey: %v\n", element.IsKey)
  25. fmt.Printf("CanUpdate: %v\n", element.CanUpdate)
  26. fmt.Printf("CanUpdateClear: %v\n", element.CanUpdateClear)
  27. fmt.Printf("AESKey: \"%s\"\n", element.AESKey)
  28. fmt.Printf("JoinWith: \"%s\"\n", element.JoinWith)
  29. default:
  30. fmt.Println("类型错误")
  31. }
  32. fmt.Println("---------------------------------------")
  33. }
  34. }