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 )
*/
}
有疑问加站长微信联系(非本文作者)