Beego中内嵌了ORM框架,
1.
①可以将结构体和数据表对应起来,只需要通过结构体和对象就能操作数据库。
②根据结构体生成数据库中的表。
func init() { //设置数据库基本信息 orm.RegisterDataBase("default", "mysql", "root:[email protected](127.0.0.1:3306)/test?charset=utf8") //映射model数据 orm.RegisterModel(new(User)) //生成表 orm.RunSyncdb("default", false, true) }
2.ORM对象操作数据库
①插入
//1.有ORM对象 o := orm.NewOrm() //2.有一个要插入数据的结构体对象 user := models.User{} //3.对结构体对象赋值 user.Name = "111" user.Pwd = "222" //4.插入 _,err := o.Insert(&user) if err!= nil { beego.Info("插入失败",err) return }
②查询
//1.有ORM对象 o := orm.NewOrm() //2.查询的对象 user := models.User{} //3.指定查询对象字段值 user.Name = "111" user.Id = 3 //4.查询-只有Id是参数可以省略 //err := o.Read(&user) err := o.Read(&user, "Name", "Id") if err != nil { beego.Info("查询失败", err) return }
③更新
//1.有ORM对象 o := orm.NewOrm() //2.查询要更新的结构体对象 user := models.User{} //3.查询需要更新的数据 user.Id = 1 err := o.Read(&user) //4.给数据重新赋值 if err == nil { user.Name = "999" //5.更新 num, err := o.Update(&user) if err != nil { beego.Info("更新失败", err) return } beego.Info("更新成功,一共更新了:", num, "条") }
④删除
//1.有orm对象 o := orm.NewOrm() //2.删除的对象 user := models.User{} //3.指定那一条对象删除 //user.Id = 2 //num, err := o.Delete(&user) //条件只有Id的话,不用加参数 user.Pwd = "222" //4.删除 num, err := o.Delete(&user, "Pwd") if err != nil { beego.Info("删除失败", err) return } beego.Info("删除成功,一共删除了:", num, "条")
以上。