Beego操作数据库
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, "条")
以上。
    朱子家训说:宜未雨而筹谋,勿临渴而掘井。
任何事情要到了跟前才想解决办法,那我们岂不很被动!
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号