go语言中xorm如何自动生成model
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍"go语言中xorm如何自动生成model",在日常操作中,相信很多人在go语言中xorm如何自动生成model问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家
千家信息网最后更新 2026年11月02日go语言中xorm如何自动生成model
这篇文章主要介绍"go语言中xorm如何自动生成model",在日常操作中,相信很多人在go语言中xorm如何自动生成model问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"go语言中xorm如何自动生成model"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
xorm自动生成model文件
进入项目根目录
luwei@luweideMacBook-Pro-2 go-simple-task % pwd/Users/myself/Golang/common_project/src/go-simple-taskluwei@luweideMacBook-Pro-2 go-simple-task % lsDockerfile go-simple-task go.mod go.sum logic logs main.go model models overall serv templates toolluwei@luweideMacBook-Pro-2 go-simple-task %
如果没有go-sql-driver/mysql就先安装
go get -u github.com/go-sql-driver/mysql
安装xorm,在cmd命令行下
go get github.com/go-xorm/xorm
再安装xorm的cmd命令工具
go get github.com/go-xorm/cmd/xorm
安装 cmd 报错处理
luwei@luweideMacBook-Pro-2 go-simple-task % go get github.com/go-xorm/cmd/xorm# github.com/go-xorm/cmd/xorm../../pkg/mod/github.com/go-xorm/cmd/xorm@v0.0.0-20190426080617-f87981e709a1/dump.go:45:26: cannot use "github.com/go-xorm/core".LOG_UNKNOWN (type "github.com/go-xorm/core".LogLevel) as type "xorm.io/core".LogLevel in argument to engine.Logger().SetLevel../../pkg/mod/github.com/go-xorm/cmd/xorm@v0.0.0-20190426080617-f87981e709a1/reverse.go:246:34: cannot use tables (type []*"xorm.io/core".Table) as type []*"github.com/go-xorm/core".Table in argument to langTmpl.GenImports../../pkg/mod/github.com/go-xorm/cmd/xorm@v0.0.0-20190426080617-f87981e709a1/reverse.go:254:18: cannot use table (type *"xorm.io/core".Table) as type *"github.com/go-xorm/core".Table in append../../pkg/mod/github.com/go-xorm/cmd/xorm@v0.0.0-20190426080617-f87981e709a1/reverse.go:291:26: cannot use table (type *"xorm.io/core".Table) as type *"github.com/go-xorm/core".Table in slice literal../../pkg/mod/github.com/go-xorm/cmd/xorm@v0.0.0-20190426080617-f87981e709a1/shell.go:60:26: cannot use "github.com/go-xorm/core".LOG_UNKNOWN (type "github.com/go-xorm/core".LogLevel) as type "xorm.io/core".LogLevel in argument to engine.Logger().SetLevel../../pkg/mod/github.com/go-xorm/cmd/xorm@v0.0.0-20190426080617-f87981e709a1/source.go:45:26: cannot use "github.com/go-xorm/core".LOG_UNKNOWN (type "github.com/go-xorm/core".LogLevel) as type "xorm.io/core".LogLevel in argument to engine.Logger().SetLevelluwei@luweideMacBook-Pro-2 go-simple-task %
跳出项目目录执行,完了再跳回去
luwei@luweideMacBook-Pro-2 go-simple-task % cd ../luwei@luweideMacBook-Pro-2 src % go get github.com/go-xorm/cmd/xormluwei@luweideMacBook-Pro-2 src %
在项目目录下建立 templates/goxorm 文件夹
这个文件下建立config和struct.go.tpl文件.
模板内容可以根据你自己的需要修改
config内容如下
lang=gogenJson=1prefix=
struct.go.tpl内容如下
package {{.Models}}{{$ilen := len .Imports}}{{if gt $ilen 0}}import ( {{range .Imports}}"{{.}}"{{end}}){{end}}{{range .Tables}}type {{Mapper .Name}} struct {{{$table := .}}{{range .ColumnsSeq}}{{$col := $table.GetColumn .}} {{Mapper $col.Name}} {{Type $col}} {{Tag $table $col}}{{end}}}{{end}}最后执行命令
程序会在当前目录下生成models文件夹,并在models文件夹中生成go文件
xorm reverse mysql root:root@/fox?charset=utf8 templates/goxorm
执行报错
luwei@luweideMacBook-Pro-2 go-simple-task % xorm reverse mysql root:123456@/bubble?charset=utf8 templates/goxormzsh: no matches found: root:123456@/bubble?charset=utf8
解决方案
vim ~/.zshrc
在~/.zshrc中加入:
setopt no_nomatch
检查一下
luwei@luweideMacBook-Pro-2 go-simple-task % cat ~/.zshrc source ~/.bash_profileexport GOPROXY=https://goproxy.io,directsetopt no_nomatch
最后执行
source ~/.zshrc
再次执行
luwei@luweideMacBook-Pro-2 go-simple-task % xorm reverse mysql root:123456@/bubble?charset=utf8 templates/goxormluwei@luweideMacBook-Pro-2 go-simple-task %
剩下就是把models里的内容赋值到model 对应的model里面了
到此,关于"go语言中xorm如何自动生成model"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
文件
生成
自动生成
语言
内容
学习
命令
文件夹
目录
项目
更多
帮助
实用
接下来
再次
完了
就是
工具
文章
方案
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技深圳
互联网品科技
智能科技公司是互联网公司吗
网络科技有限互联网
互联网科技与金融科技
嘟嘟瓜互联网科技
互联网科技视频
郑州华宇互联网科技
互联网科技网站
长亮科技互联网金融
互联网金融和金融科技
科技大学互联网专业好不好
上海电发互联网科技有限公司
顶级互联网科技成果有哪些
港股科技和互联网
智腾互联网科技有限公司
互联网科技革命什么开始
乌鲁木齐新华智原互联网科技学校
群盈汇互联网科技有限公司
广州智享互联网科技
互联网科技公司发展
苏州互联网科技贷款公司
互联网科技上市公司
互联网科技大会
互联网科技宣传片
青海省互联网新科技
互联网科技公司的市场部门
福州新华互联网科技学校 知乎
福建科技产业互联网发展
阿里互联网科技企业