main.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package main
  2. import (
  3. "bufio"
  4. "go-create/configs"
  5. "go-create/util"
  6. "html/template"
  7. "os"
  8. )
  9. func init() {
  10. configs.ConfigInit()
  11. }
  12. func main() {
  13. //初始化
  14. util.InitMTableArray(configs.Engine)
  15. //执行生成,go
  16. //util.MysqlToStruct()
  17. //util.MysqlToDao()
  18. //util.MysqlToBaseCRUDRouter()
  19. //执行生成,vue
  20. //util.MysqlToVueApi()
  21. //TODO 结构体 MTables 中的字段不允许外界访问:aaBbName
  22. LoadDaoTemplate("E:\\project\\kkc\\go-xorm-create\\domain\\Dao.go")
  23. }
  24. // LoadStructTemplate 加载结构体生成模板
  25. func LoadStructTemplate(url string) {
  26. os.Truncate(url, 0)
  27. file, _ := os.OpenFile(url, os.O_CREATE|os.O_RDWR, 0666)
  28. defer file.Close()
  29. writer := bufio.NewWriter(file)
  30. tmpl, err := template.ParseFiles("./tmpl/struct.go.template")
  31. if err != nil {
  32. panic(err)
  33. }
  34. err = tmpl.Execute(writer, util.MTables)
  35. if err != nil {
  36. panic(err)
  37. }
  38. }
  39. // LoadDaoTemplate 加载Dao生成模板
  40. func LoadDaoTemplate(url string) {
  41. os.Truncate(url, 0)
  42. file, _ := os.OpenFile(url, os.O_CREATE|os.O_RDWR, 0666)
  43. defer file.Close()
  44. writer := bufio.NewWriter(file)
  45. tmpl, err := template.ParseFiles("./tmpl/dao.go.template")
  46. if err != nil {
  47. panic(err)
  48. }
  49. err = tmpl.Execute(writer, util.MTables)
  50. if err != nil {
  51. panic(err)
  52. }
  53. }