Beego操作数据库

时间:2021-08-26 03:33:17

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, "条")

以上。