go语言中xorm如何自动生成model
发表于:2025-11-14 作者:千家信息网编辑
千家信息网最后更新 2025年11月14日,这篇文章主要介绍"go语言中xorm如何自动生成model",在日常操作中,相信很多人在go语言中xorm如何自动生成model问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家
千家信息网最后更新 2025年11月14日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安全错误
数据库的锁怎样保障安全
徐汇区网络技术转让包括什么
年会小品 网络安全
初中网络安全开题报告怎么写
学软件开发和php哪个好
专业服务器安全防护
量化数据库交易
魔兽最大服务器
山西懒人智慧网络技术
数据库星型和雪花型
中国网络安全新闻
数据库多时区
哈佛大学论文数据库2亿
学生画的网络安全手抄报
lol联盟服务器维护
外卖跑腿软件开发
红河州网络安全宣传周活动
bs是三层客户端服务器吗
网络安全板块为什么一直跌
广州耀通网络技术有限公司待遇
方舟为什么进不去多人服务器
天龙八部荣耀版枕石服务器
网络安全半边天
黑莓手机远程访问服务器
如何有效防护服务器被黑
数据库用于控制数据访问的是
案管6.0数据库报错
操作数据库的开源框架
吉林信息化软件开发服务应用
软件开发+税前12000
山西惠普服务器虚拟化迁移