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

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数据库的增删改查)