67 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ## beego orm 介绍
 | |
| 
 | |
| ## 快速入门
 | |
| 
 | |
| ```go
 | |
| package main
 | |
| 
 | |
| import (
 | |
| 	"fmt"
 | |
| 	"github.com/astaxie/beego/orm"
 | |
| 	_ "github.com/go-sql-driver/mysql"
 | |
| )
 | |
| 
 | |
| // 最简单的两个表的定义
 | |
| type User struct {
 | |
| 	Id   int    `orm:"auto"`
 | |
| 	Name string `orm:"size(100)"`
 | |
| 	orm.Manager
 | |
| }
 | |
| 
 | |
| func init() {
 | |
| 	// 将表定义注册到 orm 里
 | |
| 	orm.RegisterModel(new(User))
 | |
| 
 | |
| 	// 链接参数设置
 | |
| 	orm.RegisterDataBase("default", "mysql", "root:root@/my_db?charset=utf8", 30)
 | |
| }
 | |
| 
 | |
| func main() {
 | |
| 	orm.BootStrap() // 确保在所有 RegisterModel 之后执行
 | |
| 
 | |
| 	o := orm.NewOrm()
 | |
| 
 | |
| 	user := User{Name: "slene"}
 | |
| 
 | |
| 	// 创建
 | |
| 	id, err := o.Insert(&user)
 | |
| 	fmt.Println(id, err)
 | |
| 
 | |
| 	// 更新
 | |
| 	user.Name = "astaxie"
 | |
| 	num, err := o.Update(&user)
 | |
| 	fmt.Println(num, err)
 | |
| 
 | |
| 	// 查询单个
 | |
| 	u := User{Id: user.Id}
 | |
| 	err = o.Read(&u)
 | |
| 	fmt.Println(u.Name, err)
 | |
| 
 | |
| 	// 删除
 | |
| 	num, err = o.Delete(&u)
 | |
| 	fmt.Println(num, err)
 | |
| }
 | |
| ```
 | |
| 
 | |
| ## 详细文档
 | |
| 
 | |
| 1. [Model Definition](Models.md)
 | |
| 2. Custom Fields
 | |
| 3. [Orm](Orm.md)
 | |
| 4. [Object](Object.md)
 | |
| 5. [Query](Query.md)
 | |
| 6. Condition
 | |
| 7. Raw
 | |
| 8. Transaction
 | |
| 9. Faq
 |