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 目录下,执行
go build
第三步:还是在此目录下执行
xorm reverse mysql root:youpassworl@(127.0.0.1:3306)/youDATABASE?charset=utf8 ./templates/goxorm/
结果:执行完上面操作后会在当前目录的models文件夹中生成go的实体类文件