ad2965bb by slene

update docs

1 parent 37f8c6a0
1 ## beego orm 1 # beego orm
2 2
3 a powerful orm framework 3 a powerful orm framework
4 4
5 now, beta, unstable, may be changing some api make your app build failed. 5 now, beta, unstable, may be changing some api make your app build failed.
6 6
7 **Driver Support:**
8
9 * MySQL: [github.com/go-sql-driver/mysql](https://github.com/go-sql-driver/mysql)
10
11 **Features:**
12
13 ...
14
15 **Install:**
16
17 go get github.com/astaxie/beego/orm
18
19 ## Quick Start
20
21 #### Simple Usage
22
23 ```go
24 package main
25
26 import (
27 "fmt"
28 "github.com/astaxie/beego/orm"
29 _ "github.com/go-sql-driver/mysql" // import your used driver
30 )
31
32 // Model Struct
33 type User struct {
34 Id int `orm:"auto"`
35 Name string `orm:"size(100)"`
36 orm.Manager
37 }
38
39 func init() {
40 // register model
41 orm.RegisterModel(new(User))
42
43 // set default database
44 orm.RegisterDataBase("default", "mysql", "root:root@/my_db?charset=utf8", 30)
45 }
46
47 func main() {
48 o := orm.NewOrm()
49
50 user := User{Name: "slene"}
51
52 // insert
53 id, err := o.Insert(&user)
54
55 // update
56 user.Name = "astaxie"
57 num, err := o.Update(&user)
58
59 // read one
60 u := User{Id: user.Id}
61 err = o.Read(&u)
62
63 // delete
64 num, err = o.Delete(&u)
65 }
66 ```
67
68 #### Next with relation
69
70 ```go
71 type Post struct {
72 Id int `orm:"auto"`
73 Title string `orm:"size(100)"`
74 User *User `orm:"rel(fk)"`
75 orm.Manager
76 }
77
78 var posts []*Post
79 qs := o.QueryTable("post")
80 num, err := qs.Filter("User__Name", "slene").All(&posts)
81 ```
82
83 #### Use Raw sql
84
85 ```go
86 var maps []Params
87 num, err := o.Raw("SELECT id FROM user WHERE name = ?", "slene").Values(&maps)
88 if num > 0 {
89 fmt.Println(maps[0]["id"])
90 }
91 ```
92
93 #### Transaction
94
95 ```go
96 o.Begin()
97 ...
98 user := User{Name: "slene"}
99 id, err := o.Insert(&user)
100 if err != nil {
101 o.Commit()
102 } else {
103 o.Rollback()
104 }
105
106 ```
107
108 ## Docs
109
110 more details and examples in docs and test
111
112 * [中文](docs/zh)
113 * English
114
7 ## TODO 115 ## TODO
8 - some unrealized api 116 - some unrealized api
9 - examples 117 - examples
10 - docs 118 - docs
11 - support postgres
12 - support sqlite 119 - support sqlite
120 - support postgres
121
122 ##
......
1 ## beego orm 介绍 1 ## 文档目录
2
3 ## 快速入门
4
5 ```go
6 package main
7
8 import (
9 "fmt"
10 "github.com/astaxie/beego/orm"
11 _ "github.com/go-sql-driver/mysql"
12 )
13
14 // 最简单的两个表的定义
15 type User struct {
16 Id int `orm:"auto"`
17 Name string `orm:"size(100)"`
18 orm.Manager
19 }
20
21 func init() {
22 // 将表定义注册到 orm 里
23 orm.RegisterModel(new(User))
24
25 // 链接参数设置
26 orm.RegisterDataBase("default", "mysql", "root:root@/my_db?charset=utf8", 30)
27 }
28
29 func main() {
30 o := orm.NewOrm()
31
32 user := User{Name: "slene"}
33
34 // 创建
35 id, err := o.Insert(&user)
36 fmt.Println(id, err)
37
38 // 更新
39 user.Name = "astaxie"
40 num, err := o.Update(&user)
41 fmt.Println(num, err)
42
43 // 查询单个
44 u := User{Id: user.Id}
45 err = o.Read(&u)
46 fmt.Println(u.Name, err)
47
48 // 删除
49 num, err = o.Delete(&u)
50 fmt.Println(num, err)
51 }
52 ```
53
54 ## 详细文档
55 2
56 1. [模型定义](Models.md) 3 1. [模型定义](Models.md)
57 - [支持的 Field 类型](Models.md#Field Type) 4 - [支持的 Field 类型](Models.md#field-type)
58 - [Field 设置参数](Models.md#Field Options) 5 - [Field 设置参数](Models.md#field-options)
59 - [关系型 Field 设置](Models.md#Relation Field Options) 6 - [关系型 Field 设置](Models.md#relation-field-options)
60 2. Custom Fields 7 2. Custom Fields
61 3. [Orm 使用方法](Orm.md) 8 3. [Orm 使用方法](Orm.md)
62 - [Ormer 接口](Orm.md#Ormer) 9 - [Ormer 接口](Orm.md#Ormer)
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!