findone.go 874 B

123456789101112131415161718192021222324252627282930
  1. package gen
  2. import (
  3. "bytes"
  4. "text/template"
  5. sqltemplate "zero/tools/goctl/model/sql/template"
  6. )
  7. func genFindOne(table *InnerTable) (string, error) {
  8. t, err := template.New("findOne").Parse(sqltemplate.FindOne)
  9. if err != nil {
  10. return "", err
  11. }
  12. fineOneBuffer := new(bytes.Buffer)
  13. err = t.Execute(fineOneBuffer, map[string]interface{}{
  14. "withCache": table.PrimaryField.Cache,
  15. "upperObject": table.UpperCamelCase,
  16. "lowerObject": table.LowerCamelCase,
  17. "snakePrimaryKey": table.PrimaryField.SnakeCase,
  18. "lowerPrimaryKey": table.PrimaryField.LowerCamelCase,
  19. "dataType": table.PrimaryField.DataType,
  20. "cacheKey": table.CacheKey[table.PrimaryField.SnakeCase].Key,
  21. "cacheKeyVariable": table.CacheKey[table.PrimaryField.SnakeCase].KeyVariable,
  22. })
  23. if err != nil {
  24. return "", err
  25. }
  26. return fineOneBuffer.String(), nil
  27. }