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, "條")
以上。
