写出使用beego操作mysql数据库实现增删改查的代码
时间: 2024-02-23 12:58:37 浏览: 23
好的,以下是使用beego操作mysql数据库实现增删改查的示例代码:
```go
package controllers
import (
"github.com/astaxie/beego"
"github.com/astaxie/beego/orm"
_ "github.com/go-sql-driver/mysql"
)
type UserController struct {
beego.Controller
}
type User struct {
Id int
Name string
Age int
}
func init() {
orm.RegisterDriver("mysql", orm.DRMySQL)
orm.RegisterDataBase("default", "mysql", "root:password@tcp(127.0.0.1:3306)/test?charset=utf8")
orm.RegisterModel(new(User))
orm.RunSyncdb("default", false, true)
}
func (c *UserController) AddUser() {
o := orm.NewOrm()
user := User{Name: "Tom", Age: 20}
id, err := o.Insert(&user)
if err == nil {
c.Ctx.WriteString("Insert user success, id: " + string(id))
} else {
c.Ctx.WriteString("Insert user failed, err: " + err.Error())
}
}
func (c *UserController) GetUser() {
o := orm.NewOrm()
user := User{Id: 1}
err := o.Read(&user)
if err == nil {
c.Ctx.WriteString("Get user success, name: " + user.Name + ", age: " + string(user.Age))
} else {
c.Ctx.WriteString("Get user failed, err: " + err.Error())
}
}
func (c *UserController) UpdateUser() {
o := orm.NewOrm()
user := User{Id: 1}
if o.Read(&user) == nil {
user.Age = 22
if num, err := o.Update(&user); err == nil {
c.Ctx.WriteString("Update user success, num: " + string(num))
} else {
c.Ctx.WriteString("Update user failed, err: " + err.Error())
}
}
}
func (c *UserController) DeleteUser() {
o := orm.NewOrm()
user := User{Id: 1}
if num, err := o.Delete(&user); err == nil {
c.Ctx.WriteString("Delete user success, num: " + string(num))
} else {
c.Ctx.WriteString("Delete user failed, err: " + err.Error())
}
}
```
这段代码演示了如何使用beego的ORM模块连接mysql数据库,并实现增删改查操作。其中,init函数用于注册数据库驱动和连接数据库;AddUser函数用于新增用户;GetUser函数用于查询用户;UpdateUser函数用于更新用户;DeleteUser函数用于删除用户。