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

以上。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM