beego框架之orm模块

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数据库了!

猜你喜欢

转载自blog.csdn.net/u012460314/article/details/97131107