golang中通过orm实现对mysql数据库的增删改查

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

package models

import (
    "fmt"
    "github.com/astaxie/beego"
    "github.com/astaxie/beego/orm"
    _"github.com/go-sql-driver/mysql"

)

//定义一个用户结构体
type user struct{
    Id int
    Name string
    Password string
}

func init() {
    //ORM操作数据库

    //获取连接对象
    err:=orm.RegisterDataBase("default","mysql","u:u@tcp(127.0.0.1:3306)/u?charset=utf8")
    if err!=nil{
        beego.Error(err)
    }

    //创建表
    orm.RegisterModel(new(user))
    //生成表
    //第一个参数是数据库别名,第二个参数是是否强制更新
    orm.RunSyncdb("default",false,true)

    //获取orm对象
    o := orm.NewOrm()

    //插入数据
    /*
    var user user
    user.Name="xiaoming"
    user.Password="000000"
    //插入操作
    id,err := o.Insert(&user)//id表示插入的数据的主键
    if err!=nil{
        fmt.Println("o.Insert err:",err)
        return
    }
        fmt.Printf("插入了数据,id是%d\n",id)

     */

    //查询数据

    var user user
    user.Id=1
    err=o.Read(&user,"id")
    if err!=nil{
        fmt.Println("o.Read err:",err)
    }
    fmt.Println(user)





    //更新数据
    /*
    var user user
    user.Id=3
    err=o.Read(&user,"id")
    if err!=nil{
        fmt.Println("o.Read err:",err)
        return
    }
    user.Name="tom's new name"
    n,err:=o.Update(&user)//n表示更新的记录数
    if err!=nil{
        fmt.Println("o.Read err:",err)
        return
    }
    fmt.Println("n===",n)

     */
    //删除操作
    /*
    var user user

    //user.Name="xiaoming"//删除对象的主键必须有值,否则无法删除。例如这个对象就无法删除

    user.Id=3
    n,err:=o.Delete(&user)
    if err!=nil{
        fmt.Println("o.Read err:",err)
        return
    }
    fmt.Println("n===",n )
    */
}

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

本文来自:简书

感谢作者:七八个星天

查看原文:golang中通过orm实现对mysql数据库的增删改查

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

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