zoukankan      html  css  js  c++  java
  • 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, "条")
    

    以上。

    朱子家训说:宜未雨而筹谋,勿临渴而掘井。 任何事情要到了跟前才想解决办法,那我们岂不很被动!
  • 相关阅读:
    0806 c#总复习
    0804 递归
    0808 html基础
    0803结构体,枚举类型
    0801out传值
    0731函数
    0730特殊集合
    0728多维数组,ArrayList集合
    js 获取url链接的任意参数
    jq dom操作
  • 原文地址:https://www.cnblogs.com/jianyingjie/p/11774328.html
Copyright © 2011-2022 走看看