1、创建数据库公共连接
# vim models/model.go
package models
import "github.com/astaxie/beego/orm"
import _ "github.com/go-sql-driver/mysql"
type User struct {
Id int
Name string
}
func init() {
// 1.连接数据库
orm.RegisterDataBase("default", "mysql", "root:123456@tcp(10.11.24.136:3306)/test?charset=utf8")
// 2.注册表
orm.RegisterModel(new(User))
// 3.生成表
orm.RunSyncdb("default", false, true)
}
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")
}