Beego中內嵌了ORM框架,
1.
①可以將結構體和數據表對應起來,只需要通過結構體和對象就能操作數據庫。
②根據結構體生成數據庫中的表。
func init() { //設置數據庫基本信息 orm.RegisterDataBase("default", "mysql", "root:admin@tcp(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, "條")
以上。