1.安装mysql驱动
github.com/go-sql-driver/mysq
2.建立模型映射,并使用结构体的tag标签来将结构体的成员变量和表的字段做映射。在models模块里,被注册的结构体与数据库里的表会以一种默认方式进行一一对应。然而,在实际开发中,默认的这种映射关系并不是我们所期待的,所以我们需要指定被注册的结构体与数据库里的表之间的关系。其中函数TableName()的功能是修改结构体对应的表名称
package models
import (
"github.com/astaxie/beego/orm"
_ "github.com/go-sql-driver/mysql"
"time"
)
type User struct { // 默认情况对应数据库的表名为:user
Id int `orm:"column(log_id);PK"`
Name string `orm:"column(user_name)"`
Ip string `orm:"column(log_ip)"`
Time time.Time `orm:"column(log_time)"`
Handout int `orm:"column(handout)"`
MyName string // 默认情况对应数据库里user表字段为:my_name(转换规则为:驼峰处大写字母转换成小写字母并在其前面添加'_')
}
func (u *User) TableName() string {
return "log"
}
3.配置数据库
func init() {
// 注册驱动
orm.RegisterDriver("mysql", orm.DR_MySQL)
// 注册默认数据库
// 我的mysql的root用户密码为root,打算把数据表建立在名为bbs数据库里
// 备注:此处第一个参数必须设置为“default”(因为我现在只有一个数据库),否则编译报错说:必须有一个注册DB的别名为 default
orm.RegisterDataBase("default", "mysql", "root:root@tcp(127.0.0.1:3306)/bbs?charset=utf8&loc=Local")
orm.RegisterModel(new(User))
}
可以愉快的使用orm操作mysql数据库了!