golang学习之beego增删改查代码实现

caiyezi · · 999 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

记录下使用beego的增删改查实现,数据库使用mysql,完整代码如下:

package main import ( _ "crud_beego/routers" //自动注册路由
    "fmt"
    "github.com/astaxie/beego"
    "github.com/astaxie/beego/orm" _ "github.com/go-sql-driver/mysql" ) const ( DRIVER_NAME = "mysql" DATA_SOURCE = "root:123456@tcp(127.0.0.1:3306)/test?charset=utf8&loc=Asia%2FShanghai" MAX_IDLE_CONN = 5 MAX_OPEN_CONN = 30 ) type User struct { Id int Name string Email string Age int isActive bool } func (u *User) TableName() string { return "t_user" } func registerDB() { orm.Debug = true orm.RegisterDataBase("default", DRIVER_NAME, DATA_SOURCE, MAX_IDLE_CONN, MAX_OPEN_CONN) orm.RegisterModel(new(User)) } func (this User) ToString() string { return fmt.Sprintf("Id:%d\tName:%s\tEmail:%s\tAge:%d\tisActive:%v", this.Id, this.Name, this.Email, this.Age, this.isActive) } func createUsers() { users := []User{ User{Name: "adadmin1", Email: "14199@111.com", Age: 12}, User{Name: "adadmin1", Email: "14199@111.com", Age: 12}, User{Name: "adadmin1", Email: "14199@111.com", Age: 12}, User{Name: "adadmin1", Email: "14199@111.com", Age: 12}, User{Name: "adadmin1", Email: "14199@111.com", Age: 12}, User{Name: "adadmin1", Email: "14199@111.com", Age: 12}, User{Name: "adadmin1", Email: "14199@111.com", Age: 12}, } o := orm.NewOrm() if successNums, err := o.InsertMulti(len(users), users); err != nil { fmt.Println("insert fail.....") } else { fmt.Println("success inserted %d datas", successNums) } } //find all users
func listUsers() { var users []User orm.NewOrm().QueryTable("t_user").All(&users) for _, user := range users { fmt.Println(user.ToString()) } } //get user count
func countUser() { cnt, _ := orm.NewOrm().QueryTable("t_user").Count() fmt.Println("All user count:", cnt) } //get the only one user
func getUser() { var user User err := orm.NewOrm().QueryTable("t_user").Filter("Id", 5).One(&user) if err == nil { fmt.Println(user.ToString()) } } //get the only one user
func getUsers() { var users []User _, err := orm.NewOrm().QueryTable("t_user").Filter("name__contains", "awd").All(&users) if err == nil { for _, user := range users { fmt.Println(user.ToString()) } } } //get limit user
func limitUser() { var users []User _, err := orm.NewOrm().QueryTable("t_user").Limit(6).OrderBy("-Name").All(&users) if err == nil { for _, user := range users { fmt.Println(user.ToString()) } } } //get user limit,offset
func limitoffsetUser() { var users []User _, err := orm.NewOrm().QueryTable("t_user").Limit(1, 4).OrderBy("Id").All(&users) if err == nil { for _, user := range users { fmt.Println(user.ToString()) } } } //del user
func delUser() { num, err := orm.NewOrm().QueryTable("t_user").Filter("Id", "5").Delete() fmt.Printf("Affected Num: %s, %s", num, err) } //update user
func updateUser() { num, err := orm.NewOrm().QueryTable("t_user").Filter("name__contains", "awd").Update(orm.Params{ "name": "#########", }) fmt.Printf("Affected Num: %s, %s", num, err) } func main() { registerDB() createUsers() listUsers() countUser() getUser() getUsers() limitoffsetUser() delUser() updateUser() beego.Run() }

 


有疑问加站长微信联系(非本文作者)

本文来自:开源中国博客

感谢作者:caiyezi

查看原文:golang学习之beego增删改查代码实现

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

999 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传