orm对象关系映射,通过对象(即struct)与数据库的table一一对应
1.关系设置
package main
import(
"github.com/astaxie/beego/orm"
_ "github.com/go-sql-driver/mysql"
)
type Child struct{
Id int
Name string
Born *Born `orm:"rel(one)"`//1 -1
Relatives []*Relative `orm:"reverse(many)"`//1-n Relative表体现
Parents []*Parent `orm:"rel(m2m)"`//n-n 中介表体现
}
type Relative struct{
Id int
Relation string
Child *Child `orm:"rel(fk)"`//1-n
}
type Born struct {
Id int
Hospital string
Num int//出生证明编号
Child *Child `orm:"reverse(one)"`//1-1
}
type Parent struct {
Id int
Work string
Childs []*Child `orm:"reverse(many)"`// n-n
}
func main(){
orm.RegisterDataBase("default","mysql","root:123456@tcp(192.168.160.140:3306)/pyg")
orm.RegisterModel(new(Child),new(Relative),new(Born),new(Parent))
orm.RunSyncdb("default