package main import ( "bufio" "go-create/configs" "go-create/util" "html/template" "os" ) func init() { configs.ConfigInit() } func main() { //初始化 util.InitMTableArray(configs.Engine) //执行生成,go //util.MysqlToStruct() //util.MysqlToDao() //util.MysqlToBaseCRUDRouter() //执行生成,vue //util.MysqlToVueApi() //TODO 结构体 MTables 中的字段不允许外界访问:aaBbName LoadDaoTemplate("E:\\project\\kkc\\go-xorm-create\\domain\\Dao.go") } // LoadStructTemplate 加载结构体生成模板 func LoadStructTemplate(url string) { os.Truncate(url, 0) file, _ := os.OpenFile(url, os.O_CREATE|os.O_RDWR, 0666) defer file.Close() writer := bufio.NewWriter(file) tmpl, err := template.ParseFiles("./tmpl/struct.go.template") if err != nil { panic(err) } err = tmpl.Execute(writer, util.MTables) if err != nil { panic(err) } } // LoadDaoTemplate 加载Dao生成模板 func LoadDaoTemplate(url string) { os.Truncate(url, 0) file, _ := os.OpenFile(url, os.O_CREATE|os.O_RDWR, 0666) defer file.Close() writer := bufio.NewWriter(file) tmpl, err := template.ParseFiles("./tmpl/dao.go.template") if err != nil { panic(err) } err = tmpl.Execute(writer, util.MTables) if err != nil { panic(err) } }