package main

import (
"fmt"

"github.com/astaxie/beego/orm"
_ "github.com/go-sql-driver/mysql"
)

// 定义表
type Users struct {
Id int `orm:"auto;column(id)"`
Name string `orm:"size(15);column(name)"`
Age int `orm:"column(age)"`
Sex string `orm:"size(15);column(sex)"`
}

func init() {
// 注册数据驱动,参数1驱动名称,参数2数据库名称
orm.RegisterDriver("mysql", orm.DRMySQL)
// 注册数据库,
//参数1为数据库别名,默认为default
//参数2为驱动名称,
//参数3为对应的连接字符串 "数据库账户:密码@tcp(ip:3306)/数据库?charset=utf8&loc=Local"
//参数4为设置最大空闲连接
//参数5为设置最大数据库连接
orm.RegisterDataBase("default", "mysql", "weiwei:123456@tcp(192.168.120.128:3306)/student?charset=utf8&loc=Local")
// 注册模型
orm.RegisterModel(new(Users))
// 创建表,
// 参数1数据库别名
//参数2为是否强制更新,销毁过去的重新创建
// 参数3为是否显示创建sql语句
orm.RunSyncdb("default", true, true)
}

func main() {
o := orm.NewOrm()
user := Users{Name: "slence", Age: 20, Sex: "男"}
// 插入一条数据
id, err := o.Insert(&user)
fmt.Printf("ID: %d, err: %v\n", id, err)

// 更新一条数据
user.Name = "weiwei"
num, err := o.Update(&user)
fmt.Printf("NUM: %d, ERR: %v\n", num, err)

// 获取一条数据
u := User{Id: user.Id}
err = o.Read(&u)
fmt.Printf("ERR: %v\n", err)

// 删除一条数据
num, err = o.Delete(&u)
fmt.Printf("NUM: %d, ERR: %v\n", num, err)
}


-------------------------------------------

个性签名:代码过万,键盘敲烂!!!

如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!