幸福

如人饮水,冷暖自知

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记录版本(即乐观锁)

安装xorm
go get -u github.com/astaxie/beego/xorm

安装过程中报错:
package cloud.google.com/go/civil: unrecognized import path “cloud.google.com/go/civil” (https fetch: Get https://cloud.google.com/go/civil?go-get=1: dial tcp 216.58.200.14:443: i/o timeout)
package golang.org/x/crypto/md4: unrecognized import path “golang.org/x/crypto/md4” (https fetch: Get https://golang.org/x/crypto/md4?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)
ziwen@lamplife:/Users/golang/src/gopro$ go get github.com/go-xorm/cmd/xorm
package cloud.google.com/go/civil: unrecognized import path “cloud.google.com/go/civil” (https fetch: Get https://cloud.google.com/go/civil?go-get=1: dial tcp 216.58.200.14:443: i/o timeout)

是因为被墙的缘故,所以导致这两个依赖下载不下来,我们可以在github上找到当前依赖,手动下载拷贝到相应目录即可,地址如下:

https://github.com/golang/crypto

https://github.com/googleapis/google-cloud-go

安装完成,我们执行:

root@ant:/Users/golang/src/gopro$ xorm
-bash: xorm: command not found

那是不行滴,我们需要进到xorm目录编译下方能使用:

root@ant:/Users/golang/src/github.com/go-xorm/cmd/xorm$ pwd
/Users/golang/src/github.com/go-xorm/cmd/xorm

在当前目录下执行 go build 进行编译

xorm为我们提供了多种数据库类型的操作,当下仅示范基于Mysql数据库已有表的反转操作:

root@ant:/Users/golang/src/github.com/go-xorm/cmd/xorm$ pwd
/Users/golang/src/github.com/go-xorm/cmd/xorm

root@ant:/Users/golang/src/github.com/go-xorm/cmd/xorm$ ./xorm reverse mysql “dbUser:dbPassword@tcp(xxx.xxx.xxx.xxx:3306)/dbName?charset=utf8” templates/goxorm

即会在当前目录生成所有model 

ziwen@lamplife:/Users/golang/src/github.com/go-xorm/cmd/xorm/models$ pwd
/Users/golang/src/github.com/go-xorm/cmd/xorm/models

 

至此可以自行拷贝至指定项目目录



去打赏

您的支持将鼓励我们继续创作!

[微信] 扫描二维码打赏

[支付宝] 扫描二维码打赏

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注