使用Beego中的orm包操作数据库

*使用Beego中的orm包操作数据库
//1、Models的设置

package models
        import (
        	"github.com/astaxie/beego/orm"
        	_ "github.com/go-sql-driver/mysql"
        )
        type User struct {
        	Id int
        	Name string
        	Pwd string
        }
        func init(){
        //设置数据库基本信息
orm.RegisterDataBase("default","mysql","root:######@tcp(127.0.0.1:3306)/test?charset=utf8")
        	//映射model数据
        	orm.RegisterModel(new(User))
        	//生成表
        	orm.RunSyncdb("default",false,true)
        }

//2、设置路由

package routers
import (
	"test/controllers"
	"github.com/astaxie/beego"
)
func init() {
    beego.Router("/", &controllers.MainController{})
}

//3.控制器的设置

package controllers
import (
	"github.com/astaxie/beego"
	"github.com/astaxie/beego/orm"
	"math"
	"test/models"
)
type MainController struct {
	beego.Controller
}
func (c *MainController) Get() {
		//一、对数据库插入数据
		//1.要有orm对象
		o := orm.NewOrm()
		//2.有一个要插入数据的结构体对象
		user := models.User{}
		//3.对结构体赋值
		user.Name = "1111"
		user.Pwd = "2222"
		//4.插入数据
		_, err := o.Insert(&user)
		if err != nil {
			beego.Info("插入失败", err)
			return
		}

	//二、对数据库查看操作
	   //1.要有orm对象
	   o := orm.NewOrm()
		//2.查询对象
		user := models.User{}
		//3。指定查询对象值
		//照Id查询
		user.Id=1
		//4.查询
		err:=o.Read(&user)

		//3指定查询对象值
		//按照Name查询
		user.Name="1111"
		//4.查询
		err:=o.Read(&user,"Name")
		if err != nil {
			beego.Info("查询失败", err)
			return
		}
		     beego.Info("查询成功",user)

	//三、数据库更新操作
	//1.要有orm对象
	o := orm.NewOrm()
	//2.需要更新的结构体对象
	user := models.User{}
	//3。查到需要更新的对象值
	//照Id查询
	user.Id=1
	err:=o.Read(&user)
	//4.对数据重新赋值
	if err==nil{
		user.Name="张三"
		user.Pwd="123456"
		_,err=o.Update(&user)
		if err !=nil{
			beego.Info("更新失败",err)
			return
		}
	}
	beego.Info("更新成功",user)

 //四、删除数据库信息
	//1.要有orm对象
	o := orm.NewOrm()
	//2.需要删除的结构体对象
	user := models.User{}
	//3。指定删除的对象值
	//照Id查询
	user.Id=3
	//4.删除
	_,err:=o.Delete(&user)
	if err!=nil{
		beego.Info("删除失败",err)
		return
	}
	beego.Info("删除成功",user)
}

你可能感兴趣的:(Beego类型)