From da7a0b70f4439cd1613578557af93ab1833f64fe Mon Sep 17 00:00:00 2001 From: vCaesar Date: Sun, 18 Dec 2016 17:41:47 +0800 Subject: [PATCH] Update beedb --- zh/05.5.md | 38 ++++++++++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/zh/05.5.md b/zh/05.5.md index e31f105c..20091186 100644 --- a/zh/05.5.md +++ b/zh/05.5.md @@ -1,7 +1,7 @@ -# 5.5 使用beego orm库进行ORM开发 -beego orm是我开发的一个Go进行ORM操作的库,它采用了Go style方式对数据库进行操作,实现了struct到数据表记录的映射。beedb是一个十分轻量级的Go ORM框架,开发这个库的本意降低复杂的ORM学习曲线,尽可能在ORM的运行效率和功能之间寻求一个平衡,beedb是目前开源的Go ORM框架中实现比较完整的一个库,而且运行效率相当不错,功能也基本能满足需求。但是目前还不支持关系关联,这个是接下来版本升级的重点。 +# 5.5 使用beedb/beego orm(暂未完成,请参考beego.me文档)库进行ORM开发 +beedb/beego orm是我开发的一个Go进行ORM操作的库,它采用了Go style方式对数据库进行操作,实现了struct到数据表记录的映射。beedb是一个十分轻量级的Go ORM框架,开发这个库的本意降低复杂的ORM学习曲线,尽可能在ORM的运行效率和功能之间寻求一个平衡,beedb是目前开源的Go ORM框架中实现比较完整的一个库,而且运行效率相当不错,功能也基本能满足需求。但是目前还不支持关系关联,这个是接下来版本升级的重点。 -beego orm是支持database/sql标准接口的ORM库,所以理论上来说,只要数据库驱动支持database/sql接口就可以无缝的接入beedb。目前我测试过的驱动包括下面几个: +beedb/beego orm是支持database/sql标准接口的ORM库,所以理论上来说,只要数据库驱动支持database/sql接口就可以无缝的接入beedb。目前我测试过的驱动包括下面几个: ``` @@ -24,6 +24,10 @@ beego orm支持go get方式安装,是完全按照Go Style的方式来实现的 go get github.com/astaxie/beego +beedb支持go get方式安装,是完全按照Go Style的方式来实现的。 + + go get github.com/astaxie/beedb + ## 如何初始化 首先你需要import相应的数据库驱动包、database/sql标准接口包以及beego orm包,如下所示: ```Go @@ -35,15 +39,29 @@ beego orm支持go get方式安装,是完全按照Go Style的方式来实现的 ) ``` 导入必须的package之后,我们需要打开到数据库的链接,然后创建一个beego orm对象(以MySQL为例),如下所示 +beego orm: + ```Go - //db, err := sql.Open("mymysql", "test/xiemengjun/123456") - //if err != nil { - // panic(err) - //} - // set default database - orm.RegisterDataBase("default", "mysql", "root:root@/my_db?charset=utf8", 30) - orm := orm.NewOrm() + func init() { + // set default database + orm.RegisterDataBase("default", "mysql", "root:root@/my_db?charset=utf8", 30) + + } + + func main() { + orm := orm.NewOrm() + } +``` + +beedb: + +```Go + db, err := sql.Open("mymysql", "test/xiemengjun/123456") + if err != nil { + panic(err) + } + orm := beedb.New(db) ``` beedb的New函数实际上应该有两个参数,第一个参数标准接口的db,第二个参数是使用的数据库引擎,如果你使用的数据库引擎是MySQL/Sqlite,那么第二个参数都可以省略。