用XORM reverse命令可一键根据MySQL表生成Go结构体模型。需先安装xorm.io/xorm和xorm.io/cmd/xorm,再执行xorm reverse mysql "连接串" templates/goxorm ./models,注意charset=utf8mb4不可省略。

要用XORM根据已有MySQL数据库表快速生成Go结构体模型,避免手动敲字段、配tag、写类型,直接用官方reverse命令一键产出可运行的model代码。
安装xorm命令行工具
打开终端,执行两条安装命令:
go get xorm.io/xorm
go get xorm.io/cmd/xorm
注意:必须同时安装这两个包,【只装xorm核心库而漏掉cmd/xorm,后续执行reverse会提示command not found】。安装后xorm命令会出现在$GOPATH/bin目录下,确保该路径已加入系统PATH。
准备模板目录
reverse命令需要模板才能生成Go代码。xorm自带goxorm模板,路径为templates/goxorm。
方法一(推荐):直接引用内置模板路径
命令中写templates/goxorm即可,无需手动复制。
方法二:自定义模板
若需调整生成格式(如加json tag、改字段命名规则),可复制github.com/go-xorm/cmd/xorm/templates/goxorm到本地项目下,修改struct.go.tpl后再指定该路径。
执行reverse生成结构体
第一步:确认数据库可连通
确保MySQL服务正在运行,且你有对应数据库(如test)的读取权限。
第二步:在项目根目录下新建models文件夹
例如:mkdir models
第三步:运行reverse命令→指定驱动→连接串→模板路径→输出目录
xorm reverse mysql "root:123456@tcp(127.0.0.1:3306)/test?charset=utf8mb4" templates/goxorm ./models
这一步操作起来很简单,直接把命令粘贴进终端回车就行。但要注意连接串中的用户名、密码、IP、端口、库名必须与实际一致;【charset=utf8mb4不能省略,否则中文字段可能生成失败或乱码】。
第四步:检查生成结果
进入./models目录,你会看到doctor_tb.go、user_tb.go等文件——每个表对应一个Go源文件,含结构体定义、xorm标签、主键和索引声明,开箱即用。











