1、创建数据库公共连接

  1. # vim models/model.go
  2. package models
  3. import "github.com/astaxie/beego/orm"
  4. import _ "github.com/go-sql-driver/mysql"
  5. type User struct {
  6. Id int
  7. Name string
  8. }
  9. func init() {
  10. // 1.连接数据库
  11. orm.RegisterDataBase("default", "mysql", "root:123456@tcp(10.11.24.136:3306)/test?charset=utf8")
  12. // 2.注册表
  13. orm.RegisterModel(new(User))
  14. // 3.生成表
  15. orm.RunSyncdb("default", false, true)
  16. }

2、增删改查操作

package controllers

import (
    "classOne/models"
    "fmt"
    "github.com/astaxie/beego/orm"
    beego "github.com/beego/beego/v2/server/web"
)

type OrmController struct {
    beego.Controller
}

func (this *OrmController) ShowInsert() {
    //1.获取连接对象orm
    o := orm.NewOrm()
    //2.插入对象
    user := models.User{}
    user.Name = "xxd"
    //3.执行插入操作
    _, err := o.Insert(&user)
    if err != nil {
        fmt.Println("插入失败", err)
        return
    }
    this.Ctx.WriteString("插入成功")
}

func (this *OrmController) ShowQuery() {
    //1.获取rom对象
    o := orm.NewOrm()
    //2.获取查询对象
    user := models.User{Id: 5}
    //3.执行查询操作
    err := o.Read(&user)
    if err != nil {
        fmt.Println("查询失败:", err)
        return
    }
    fmt.Println(user.Name)
    this.Ctx.WriteString("查询成功")
}

func (this *OrmController) ShowUpdate() {
    //1.获取rom对象
    o:=orm.NewOrm()
    //2.获取更新对象
    user:=models.User{Id: 3}
    //3.查询对象
    err:=o.Read(&user)
    if err !=nil{
        fmt.Println("查询失败:",err)
        return
    }
    //4.给查询到的对象赋值
    user.Name="lilei"
    //5.更新操作
    _,err=o.Update(&user)
    if err!=nil{
        fmt.Println("更新错误",err)
        return
    }
    this.Ctx.WriteString("更新成功")
}

3、设置路由

package routers

import (
    "classOne/controllers"
    beego "github.com/beego/beego/v2/server/web"
)

func init() {
    beego.Router("/", &controllers.MainController{})
    //beego.Router("/index/?:id", &controllers.IdexController{},"get:ShowGet;post:Post")
    //beego.Router("/mysql",&controllers.MysqlController{},"get:ShowMysql")
    //beego.Router("/orm",&controllers.OrmController{},"get:ShowOrm")
    beego.Router("/insert",&controllers.OrmController{},"get:ShowInsert")
    beego.Router("/query",&controllers.OrmController{},"get:ShowQuery")
    beego.Router("/update",&controllers.OrmController{},"get:ShowUpdate")

}