go-MySql的逆向工程
背景:在go中写mysql表对应的struct,如果每一个struct都手动写是很费时的工作,好在xorm帮我们解决了这个问题,使用xorm可以一键生成数据库中所有表对应的实体类。
xorm是go语言中一个非常好用且强大的开源orm框架
优点:
- 支持Struct和数据库表之间的灵活映射,并支持自动同步表结构
- 事务支持
- 支持原始SQL语句和ORM操作的混合执行
- 使用连写来简化调用
- 支持使用Id, In, Where, Limit, Join, Having, Table, Sql, Cols等函数和结构体等方式作为条件
- 支持级联加载Struct
- 支持LRU缓存(支持memory, memcache, leveldb, redis缓存Store) 和 Redis缓存
- 支持反转,即根据数据库自动生成xorm的结构体
- 支持事件
- 支持created, updated, deleted和version记录版本(即乐观锁)
操作步骤
第一步:
go get github.com/go-xorm/cmd/xorm go get github.com/go-xorm/xorm
第二步:使用 go env命令查看GOPATH的安装路径
在(GOPATH的安装路径)\pkg\mod\github.com\go-xorm\cmd\xorm@v0.0.0-20190426080617-f87981e709a1 目录下,执行
1 | go build |
第三步:还是在此目录下执行
1 | xorm reverse mysql root:youpassworl@(127.0.0.1:3306)/youDATABASE?charset=utf8 ./templates/goxorm/ |
结果:执行完上面操作后会在当前目录的models文件夹中生成go的实体类文件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术