首先在main.go中首先使用orm注册数据库链接类型:
orm.RegisterDriver("mysql", orm.DRMySQL)
orm.RegisterDataBase("default", "mysql", "root:root@/orm_test?charset=utf8")
然后在model中的init中将需要的模型注册到model中:
func init(){
orm.RegisterModel(new(User))
}
模型中操作数据库
// 返回数据库表名
func (m *User) TableName() string {
return "user"
}
// 返回一个该模型的实例
func NewUser() *User {
return &User{}
}
// TableEngine 获取数据使用的引擎.
func (m *User) TableEngine() string {
return "INNODB"
}
// 查找一条数据
func (m *User) Find(id int) (*User, error) {
if id <= 0 {
return m, errors.New("用户不存在")
}
o := orm.NewOrm()
err := o.QueryTable(m.TableName()).Filter("id", id).One(m)
return m, err
}