go语言中xorm如何自动生成model
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章主要介绍"go语言中xorm如何自动生成model",在日常操作中,相信很多人在go语言中xorm如何自动生成model问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家
千家信息网最后更新 2025年02月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安全错误
数据库的锁怎样保障安全
互联网科技公司的会计科目
鄞州直销软件开发周期
中国有关网络安全的公司
网络安全宣传周画册
本溪网络安全培训
com接口服务器出现意外情况
学校推广网络安全课总结
我的世界云服务器选配
千锋教育网络安全全集
软件开发流程和团队
e-r关系图属性和数据库
PS软件开发思维
网络安全100强 安全牛
大元帅服务器
俄罗斯网络安全成就
智慧法院 网络安全
基础网络安全是什么意思
人大 数据库
落实网络安全主体责任制督查检查
华为网络技术服务二面
php查看数据库连接
软件开发服务研发服务
赣州市网络安全工程师培训
redis查看当前数据库
软件开发招聘 智能家居
软件开发培训班学费
项目风险表 软件开发
现在软件开发都用什么编译器
plsql连接多个数据库
如何保护网络安全500